Настройка LAMP на Debian 8
Как установить LAMP (Linux, Apache, MySql, PHP) связку на ОС Debian Linux 8 (Jessie) с помощью командной строки?
Настройка LAMP необходима для хостинга сайтов и приложений разработанных на PHP, Python и Perl. Необходимо установить следующие пакеты на Debian 8:
- apache2 : веб сервер Apache HTTP Server
- mysql-server: сервер базы данный MySQL
- php5 : PHP 5
- php-pear: PHP 5 pear package
- php5-mysql: PHP 5 mysql support
В данной статье вы научитесь устанавливать LAMP на Debian 8, на все вам понадобится 15 минут.
Для начала обновим систему:
1 2 |
apt-get update apt-get upgrade |
1 |
Далее устанавливаем веб сервер |
1 |
apt-get install apache2 |
1 |
apt-get install mysql-server |
Далее устанавливаем пакеты PHP
1 |
apt-get install php5 php-pear libapache2-mod-php5 |
Устанавливаем модули PHP
1 |
apt-get install php5-mysql php5-gd |
1 |
Если нужно найти дополнительные модули используйте команду |
1 |
apt-cache search php5- |
Дополнительно можно установить perl
1 |
apt-get install perl libapache2-mod-perl2 |
Дополнительная установка Python
1 |
apt-get install python libapache2-mod-python |
Настройка LAMP
На данном шагу все пакеты должны быть установлены
Определяем IP адрес сервера
1 |
ifconfig eth0 |
или
1 |
ip addr show eth0 |
Открываем web браузер и тестируем, вводим IP адрес сервера, например
1 |
http://192.168.1.10 |

Настройка Apache
Отредактируйте следующий файл
1 |
vi /etc/apache2/apache2.conf |
Укажите IP адрес, порт и другую инфо по необходимости и перезагрузите сервис апач
1 |
systemctl restart apache2 |
Как сконфигурировать виртуальный хост для домена?
Для начала создадим каталоги
1 2 3 |
D="system-admins.ru" mkdir -p /var/www/html/$D/html_root mkdir -p /var/log/apache2/$D/ |
Далее создадим конфигурационный файл для веб сервера apache
1 |
vi /etc/apache2/sites-available/$D.conf |
Добавим в него следующую информацию
1 2 3 4 5 6 |
ServerAdmin office@system-admins.ru ServerName system-admins.ru ServerAlias www.system-admins.ru DocumentRoot /var/www/html/system-admins.ru/html_root ErrorLog /var/log/apache2/system-admins.ru/logs/error.log CustomLog /var/log/apache2/system-admins.ru/logs/access.log combined |
Сохраним файл и включим конфигурацию
1 |
a2ensite $D.conf |
Далее перезагрузка сервера apache
1 |
systemctl restart apache2 |
Настройка сервера MySQL
После установки пакета необходимо запустить команду настройки
1 |
mysql_secure_installation |
Далее создадим нашу первую БД, залогинимся с помощью root
1 |
mysql -u root -p |
Для создания БД введите следующие команды
1 2 3 |
create database test; grant all on test.* to 'test' identified by 'wrewr6453!ds; quit |
Таким образом мы создали базу данных test и дали пользователю test все полномочия на управление этой БД.
Настройка PHP
Отредактируем конфигурационный файл
1 |
vi /etc/php5/apache2/php.ini |
Добавьте или отредактируйте следующую информацию
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
display_errors=Off error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR error_log = /var/log/apache2/php-error.log max_execution_time = 30 max_input_time = 30 memory_limit = 40M expose_php=Off file_uploads=Off allow_url_fopen=Off allow_url_include=Off disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source |
После настройке перезапускаем сервер apache
1 |
systemctl restart apache2 |
Далее создадим файл /var/www/html/info.php для проверки параметров PHP
1 |
echo '<!--?php phpinfo(); ?-->' > /var/www/html/info.php |
Заходим через браузер
1 |
http://192.168.1.10/info.php |

Настройки безопасности farewall
Необходимо открыть порт 80
1 |
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT |
Настройка разрешения для директории DocumentRoot
1 2 3 4 5 6 7 8 9 10 11 12 |
## Все операции выполняются как root ## # Меняем владельца /var/www/html/ chown -R www-data:www-data /var/www/html # Устанавливаем только на чтение chmod -R 0444 /var/www/html/ # Проверяем чтобы пользователь apache мог читать файлы и не было ошибки HTTP/403 find /var/www/html/ -type d -print0 | xargs -0 -I {} chmod 0445 "{}" # Устанавливаем права на запись для директории $D/blog/wp-cache/? # chmod -R 0775 /var/www/html/system-admins.ru/blog/wp-cache/ |
Команды для управления LAMP
Остановка/запуск/перезагрузка Web сервера Apache
1 2 3 4 |
systemctl start apache2 systemctl stop apache2 systemctl restart apache2 systemctl status apache2 |
Остановка/запуск/перезагрузка базы данных MySQL
1 2 3 4 |
systemctl start mysql systemctl stop mysql systemctl restart mysql systemctl status mysql |
Проверьте, что порт 80 открыт
1 2 3 4 5 |
netstat -tulpn | grep :80 ss -t -a ss -t -a | grep http ss -o state established '( dport = :http or sport = :http )' iptable -L -n -v | less |
Файлы ошибок сервисов
1 2 3 4 5 6 |
tail -f /var/log/apache2/access.log tail -f /var/log/apache2/error.log ### PHP ## tail -f /var/log/apache2/php-error.log tail -f /var/log/apache2/system-admins.ru/logs/error.log tail -f /var/log/apache2/system-admins.ru/logs/access.log |
Предоставляем услуги по установке и настройке ПО на Debian, а также круглосуточную тех поддержку серверов, подробнее [email protected]