LAMP stack в Arch Linux

Created Monday 30 March 2015

Установка LAMP stack (Linux, Apache, MySQL, PHP) в Arch Linux

1: Установка Apache

LAMP stack – это группа открытых программ для создания и запуска веб-серверов. Данный акроним расшифровывается как Linux, Apache, MySQL, PHP.

1.~sudo pacman -Syu

2.~sudo pacman -S apache

3.~sudo nano /etc/httpd/conf/httpd.conf

4.Закоментируйте (если нет) unique_id_module (CTR+W ---->>>поиск)

#LoadModule unique_id_module modules/mod_unique_id.so

5.~sudo systemctl restart httpd

6.создать тестовую страницу

~sudo nano /srv/http/index.html

---------------

<html>

<title>Welcome</title>

<body>

<h2>Hello, Welcome to Arch</h2>

</body>

</html>

---------------

7.Проверить 127.0.0.1

---------------

узнать IP ----->>> wget -O - -q icanhazip.com

curl -s icanhazip.com

---------------

2: Установка MySQL

1.~sudo pacman -S mysql

При появлении каких-либо извещений или вопросов нажмите enter (чтобы принять настройки по умолчанию)

2.~sudo systemctl start mysqld

3.Запустить настроечный скрипт MySQL

~sudo mysql_secure_installation

Программа спросит текущий root-пароль MySQL (не путать с root-паролем сервера). Поскольку он еще не установлен, нажмите клавишу enter.

При запросе «Set root password?» введите Y, а затем наберите новый root-пароль MySQL

После этого проще всего ответить Yes на все появившиеся вопросы. В завершение MySQL перезагрузится и активирует все изменения

--------------

By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] y

... Success!

Normally, root should only be allowed to connect from 'localhost'. This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y

... Success!

By default, MySQL comes with a database named 'test' that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] y

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] y

... Success!

Cleaning up...

--------------

3: Установка PHP

1.~sudo pacman -S php php-apache

2.~sudo nano /etc/httpd/conf/httpd.conf

Внеси в конфигурационный файл следующий блок кода: (CTR+W ---->>>поиск)

--------------

# Local access to the Apache HTTP Server Manual

#Include conf/extra/httpd-manual.conf

# Distributed authoring and versioning (WebDAV)

#Include conf/extra/httpd-dav.conf

# Various default settings

Include conf/extra/httpd-default.conf

LoadModule php5_module modules/libphp5.so

AddHandler php5-script php

Include conf/extra/php5_module.conf

# Configure mod_proxy_html to understand HTML4/XHTML1

<IfModule proxy_html_module>

Include conf/extra/proxy-html.conf

</IfModule>

# Secure (SSL/TLS) connections

--------------

********************************

Обратите внимание: libphp5.so входящий в php-apache, не работает с mod_mpm_event (FS#39218). Вместо него следует использовать mod_mpm_prefork. В противном случае, вы получите следующее сообщение об ошибке:

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.

AH00013: Pre-configuration failed

httpd.service: control process exited, code=exited status=1

Для использования mod_mpm_prefork, откройте /etc/httpd/conf/httpd.conf и поменяйте строку

LoadModule mpm_event_module modules/mod_mpm_event.so

на

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

https://wiki.archlinux.org/index.php/Apache_HTTP_Server

********************************

4: Тестирование установки LAMP stack

1.~sudo nano /srv/http/info.php

------------

<?php

phpinfo();

?>

------------

2.~sudo systemctl restart httpd

3.127.0.0.1/info.php

4.~sudo systemctl enable mysqld httpd

............всё !!!!

Спасибо за статью Etel Sverdlov --->> с не большими дополнениями .....все работает !