Понадобилось мне для экспериментов и боевой эксплуатации установить веб сервер, выбор пал в сторону LAMP. Итак на свежую операционную систему Debian 11 начинаем производить установку LAMP.
1. Установка Apache
Теперь проверим сам Apache, для этого наберите ip адрес вашего сервера в браузере и должны увидеть следующую страницу:
2. MariaDB
Теперь нужно выбрать систему управления базами данных, для себя я выбрал MariaDB поэтому выполняем следующие команды:
1 |
sudo apt install mariadb-server mariadb-client mariadb-common |
По аналогии с Apache проверяем статус службы:
1 |
systemctl status mariadb |
Вывод:
1 2 3 4 5 6 7 8 9 10 11 |
● mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-04-30 09:05:52 +05; 23s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 11716 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 1007) Memory: 75.4M CGroup: /system.slice/mariadb.service └─11716 /usr/sbin/mysqld |
Если не запущена то выполняем:
1 |
sudo systemctl start mariadb |
Также врубаем автозагрузку службы:
1 |
sudo systemctl enable mariadb |
Теперь нужно выполнить начальную конфигурацию выполнив следующую команду:
1 |
sudo mysql_secure_installation |
Нужно ответить на несколько вопросов:
1 Вас попросят ввести пароль от root, но т.к мы его не задавали то просто жмем Enter
2 Далее нажимаем Y и задаем пароль от root
3 Нажим Y тем самым вырубая гостевые аккаунты
4 Отключаем удаленный доступ root пользователя
5 Удаляем тестовые базы
6 Перезаписываем таблицы привилегий
Теперь проверим версию:
1 |
mariadb --version |
Вывод:
1 |
mariadb Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 |
3. Установка PHP
Устанавливаем PHP выполнив следующую команду:
1 |
sudo apt install php libapache2-mod-php php-mysql php-common php-cli php-common php-json php-opcache php-readline php-curl php-mbstring php-imagick php-zip php-gd php-xml -y |
Включаем php на самом Apache и перезапускаем его:
1 2 |
sudo a2enmod php7.4 sudo systemctl restart apache2 |
Проверим версию php:
1 |
php --version |
Вывод:
1 |
HP 7.4.25 (cli) (built: Oct 23 2021 21:53:50) ( NTS )<br>Copyright (c) The PHP Group<br>Zend Engine v3.4.0, Copyright (c) Zend Technologies<br>with Zend OPcache v7.4.25, Copyright (c), by Zend Technologies |
Для теста PHP создадим на нашем веб сервере файл info.php в директории по умолчанию:
1 |
sudo nano /var/www/html/info.php |
Вставив следующий код и сохранив файл:
1 |
<?php phpinfo(); ?> |
Теперь набираем в браузере ваш-адрес-сервера/info.php и должна открыться след страница:
После этого можно удалить файл info.php:
1 |
sudo rm /var/www/html/info.php |
4. Настройка Apache
Для начала нужно настроить сам apache для это открываем файл настроек:
1 |
nano /etc/apache2/apache2.conf |
После открытия файла добавляем в конец строчку:
1 |
ServerName localhost:80 |
и сохраняемся
Далее нужно добавить конфигурационный файл
1 |
nano /etc/apache2/sites-available/mysite.org.conf |
1 |
<VirtualHost *:80> <br>ServerName mysite.org<br>ServerAlias www.mysite.org<br>DocumentRoot /var/www/mysite.org/html<br>ErrorLog ${APACHE_LOG_DIR}/error.log <br>CustomLog ${APACHE_LOG_DIR}/access.log combined <br></VirtualHost><br><Directory "/var/www/mysite.org/html"><br>AllowOverride All<br></Directory> |
Создадим каталог для нашего сайта:
1 |
mkdir -p /var/www/mysite.org/html |
Добавим тестовую страницу:
1 |
nano /vat/www/mysite.org/html/index.html |
1 2 3 4 5 6 7 8 |
<html> <head> <title>Welcome</title> </head> <body> <h1>mysite.org</h1> </body> </html> |
Теперь нужно назначить владельца на папку с нашим сайтом:
1 |
sudo chown -R www-data:www-data /var/www/mysite.org/html |
Далее назначаем права на наш каталог:
1 |
sudo chmod -R 755 /var/www |
Подключаем наш домен:
1 |
a2ensite mysite.org.conf |
И перезапускаем Apache:
1 |
service apache2 restart |
Для того чтобы открыть наш домен нужно у себя на машине прописать dns запись, для этого открываем файл hosts, в windows это (%SystemRoot%\System32\drivers\etc) в nix (/etc/hosts) и делаем запись вида
1 |
Ip адрес сервера mysite.org |