Связаться по:
vkarabedyants Telegram Viber
+7 (499) 350-10-69

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Настройка 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 минут.

Для начала обновим систему:

apt-get update
apt-get upgrade
Далее устанавливаем веб сервер
apt-get install apache2

apache-2-install-debian
Устанавливаем базу данных

apt-get install mysql-server

Далее устанавливаем пакеты PHP

apt-get install php5 php-pear libapache2-mod-php5

Устанавливаем модули PHP

apt-get install php5-mysql php5-gd
Если нужно найти дополнительные модули используйте команду
apt-cache search php5-

Дополнительно можно установить perl

apt-get install perl libapache2-mod-perl2

Дополнительная установка Python

apt-get install python libapache2-mod-python

Настройка LAMP

На данном шагу все пакеты должны быть установлены

Определяем IP адрес сервера

ifconfig eth0

или

ip addr show eth0

Открываем web браузер и тестируем, вводим IP адрес сервера, например

http://192.168.1.10

apache-2-default-page
Настройка Apache

Отредактируйте следующий файл

vi /etc/apache2/apache2.conf

Укажите IP адрес, порт и другую инфо по необходимости и перезагрузите сервис апач

systemctl restart apache2

Как сконфигурировать виртуальный хост для домена?
Для начала создадим каталоги

D="system-admins.ru"
mkdir -p /var/www/html/$D/html_root
mkdir -p /var/log/apache2/$D/

Далее создадим конфигурационный файл для веб сервера apache

vi /etc/apache2/sites-available/$D.conf

Добавим в него следующую информацию

     ServerAdmin [email protected]
     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

Сохраним файл и включим конфигурацию

a2ensite $D.conf

Далее перезагрузка сервера apache

systemctl restart apache2

Настройка сервера MySQL

После установки пакета необходимо запустить команду настройки

mysql_secure_installation

Далее создадим нашу первую БД, залогинимся с помощью root

mysql -u root -p

Для создания БД введите следующие команды

create database test;
grant all on test.* to 'test' identified by 'wrewr6453!ds;
quit

Таким образом мы создали базу данных test и дали пользователю test все полномочия на управление этой БД.

Настройка PHP

Отредактируем конфигурационный файл

vi /etc/php5/apache2/php.ini

Добавьте или отредактируйте следующую информацию

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

systemctl restart apache2

Далее создадим файл /var/www/html/info.php для проверки параметров PHP

echo '' > /var/www/html/info.php

Заходим через браузер

http://192.168.1.10/info.php

debian-lamp-phpinfo
Настройки безопасности farewall

Необходимо открыть порт 80

/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

Настройка разрешения для директории DocumentRoot

## Все операции выполняются как 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

systemctl start apache2
systemctl stop apache2
systemctl restart apache2
systemctl status apache2

Остановка/запуск/перезагрузка базы данных MySQL

systemctl start mysql
systemctl stop mysql
systemctl restart mysql
systemctl status mysql

Проверьте, что порт 80 открыт

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

Файлы ошибок сервисов

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]

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.