Веб-сервер
Попытка установить и настроить WEB-сервер на база ALTLinux Альт Рабочая станция 10.4.
Общие положения
Устанавливаем сборку ApacheMySQLPHP
# apt-get install lamp-server
Пакет lamp-server сразу устанавливает Apache, MySQL, PHP.
Запускаем службы: Apache:
# systemctl enable --now httpd2
То, что служба заработала можно проверить введя в адресной строке браузера:
http://localhost/
Мы должны получить 403 ошибку - доступ запрещен.
В локальной сети мы также можем проверить работу сервера, введя IP адрес компьютера, результат должен быть тем же.
MySQL:
# systemctl enable --now mysqld
В некоторых руководствах дается специальная команда, чтобы сервер запускался каждый раз при старте компьютера. Набор команд выше будет запускать службы каждый раз при старте системы. Вы легко можете это проверить.
Первичная настройка phpMyAdmin
Устанавливаем:
# apt-get install phpMyAdmin phpMyAdmin-apache2-php8.1
Проверяем работу PhpMyAdmin:
http://127.0.0.1/phpMyAdmin
или
http://localhost/phpMyAdmin
Для корректной работы необходимо создать пользователя базы данных:
# mysql MariaDB [mysql]> CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'password'; MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION; MariaDB [mysql]> FLUSH PRIVILEGES; MariaDB [mysql]> exit
Проверяем работу PhpMyAdmin еще раз:
http://127.0.0.1/phpMyAdmin
Уже можно войти под пользователем phpmyadmin и паролем password
Виртуальный хостинг - Настройка Apache
За редким исключением на одном сервере располагается несколько сайтов. Доступ к каждому сайту осуществляется по своим адресам. При этом в DNS-записях доменов указан один IP адрес - это адрес нашего сервера. Для того, чтобы сервер "понимал" какой конкретно сайт ему "отдавать" пользователю, он должен знать, какие папки на диске отвечают за конкретный адрес.
Поэтому, виртуальный хостинг это ситуация, когда веб-запросы приходят на один IP но для разных сайтов, а сервер "знает" какую папку показать на конкретный запрос.
Редактируем файл hosts:
# mcedit /etc/hosts
Добавляем запись с IP адресом сервера в нашей локальной сети и адрес сайта
***.***.***.*** host1
Выполняем:
/etc/chroot.d/resolv.all
Проверяем:
$ ping host1
В результате мы должны увидеть IP адрес нашего сервера ***.***.***.***
Создаем каталоги для сайта
/var/www/vhosts/host1/www
/var/www/vhosts/host1/log
Редактируем /etc/httpd2/conf/sites-available/vhosts.conf
<VirtualHost *:80> ServerAdmin admin@host1.com DocumentRoot /var/www/vhosts/host1/www ServerName host1 ServerAlias www.host1 ErrorLog /var/www/vhosts/host1/log/host1_err CustomLog /var/www/vhosts/host1/log/host1 combined DirectoryIndex index.html <Directory "/var/www/vhosts/host1/www"> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
Сайты на PHP
Если сайт находится под управлением PHP, то необходимо указать корректный параметр DirectoryIndex в пункте выше. А так же нужно дать доступ серверу Apache.
# chown -R apache2:apache2 /var/www/vhosts/host1/www # chmod -R 660 /var/www/vhosts/host1/www # chmod -R u+X /var/www/vhosts/host1/www