Установка ПО
Для реального использования вычислительной системы в качестве веб-ресурса используется сочетание ПО, называемое LAMP (Linux+Apache+MySQL+PHP). Предполагается, что система с установленным ArchLinux уже имеется, значит, остаётся тройка недостающих компонентов.
Замечание | В связи с поглощением одной легендарной компании известным производителем ПО, использование СУБД MySQL в прогрессивном сообществе считается дурным тоном. Здесь и далее, вместо MySQL используется MariaDB |
Для удобства администрирования СУБД будет использован пакет PhpMyAdmin.
Установка пакетов ПО:
[root@webserver ~]# pacman -S apache php php-apache mariadb phpmyadmin php-mcrypt lynx |
Настройка PHP в Apache
В файле /etc/httpd/conf/httpd.conf:
- В конце списка “LoadModule” добавить строку “LoadModule php5_module modules/libphp5.so”
- В конце списка “Include” добавить строку “Include conf/extra/php5_module.conf”
- В секции <IfModule mime_module> убедиться в отсутствии знака комментария для строки “TypesConfig conf/mime.types”
- Убрать знак комментария для “MIMEMagicFile conf/magic”
В файле /etc/httpd/conf/mime.types добавить строку “application/x-httpd-php php php5”.
В файле /etc/php/php.ini:
- date.timezone = Asia/Tashkent
- extension=mcrypt.so
- extension=mysql.so
- extension=mysqli.so
Создать тестовый PHP-файл, запустить демон apache и проверить работу веб-сервера с помощью браузера на адресу http://localhost/test.php:
[root@webserver ~]# cat > /srv/http/test.php <?php phpinfo(); ?> [root@webserver ~]# [root@webserver ~]# systemctl start httpd [root@webserver ~]# systemctl enable httpd |
Настройка MariaDB/MySQL
Запустить демон mysql и прогнать установочный сценарий:
[root@webserver ~]# systemctl start mysqld [root@webserver ~]# mysql_secure_installation ... Enter current password for root (enter for none): [Enter] OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] [Enter] Remove anonymous users? [Y/n] [Enter] Disallow root login remotely? [Y/n] n [Enter] Remove test database and access to it? [Y/n] [Enter] Reload privilege tables now? [Y/n] [Enter] [root@webserver ~]# systemctl restart mysqld [root@webserver ~]# systemctl enable mysqld |
Настройка PhpMyAdmin
Скопировать конфигурационный файл PhpMyAdmin и подключить его к Apache:
[root@webserver ~]# cp /etc/webapps/phpmyadmin/apache.example.conf /etc/httpd/conf/extra/httpd-phpmyadmin.conf [root@webserver ~]# vi /etc/httpd/conf/httpd.conf ... Include conf/extra/httpd-phpmyadmin.conf [root@webserver ~]# vi /usr/share/webapps/phpMyAdmin/.htaccess #deny from all [root@webserver ~]# vi /etc/httpd/conf/extra/httpd-phpmyadmin.conf Alias /phpmyadmin/ "/usr/share/webapps/phpMyAdmin/" |
В файле /etc/php/php.ini к переменной “open_basedir” добавить путь “/etc/webapps/”.
Перезапустить демон httpd, открыть браузер по адресу “http://localhost/phpmyadmin/”, авторизоваться как пользователь root, создать базу данных.