Rate this post

Как установить LAMP (Linux, Apache, MySql, PHP) связку на ОС Debian Linux 8 (Jessie) с помощью командной строки?nnНастройка LAMP необходима для хостинга сайтов и приложений разработанных на PHP, Python и Perl. Необходимо установить следующие пакеты на Debian 8:n

  • 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 минут.nnДля начала обновим систему:n

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

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

apt-get install mysql-server

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

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

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

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

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

apt-get install perl libapache2-mod-perl2

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

apt-get install python libapache2-mod-python

Настройка LAMP

На данном шагу все пакеты должны быть установленыnnОпределяем IP адрес сервераn

ifconfig eth0

илиn

ip addr show eth0

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

http://192.168.1.10

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

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

vi /etc/apache2/apache2.conf

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

systemctl restart apache2

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

D="itfb.com.ua"nmkdir -p /var/www/html/$D/html_rootnmkdir -p /var/log/apache2/$D/

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

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

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

     ServerAdmin [email protected]     ServerName itfb.com.uan     ServerAlias www.itfb.com.uan     DocumentRoot /var/www/html/itfb.com.ua/html_rootn     ErrorLog  /var/log/apache2/itfb.com.ua/logs/error.logn     CustomLog  /var/log/apache2/itfb.com.ua/logs/access.log combinednn

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

a2ensite $D.conf

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

systemctl restart apache2

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

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

mysql_secure_installation

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

mysql -u root -p

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

create database test;ngrant all on test.* to 'test' identified by 'wrewr6453!ds;nquit

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

Настройка PHP

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

vi /etc/php5/apache2/php.ini

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

display_errors=Offnerror_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERRORnerror_log = /var/log/apache2/php-error.log  nnmax_execution_time =  30nmax_input_time = 30nmemory_limit = 40Mnnexpose_php=Offnnfile_uploads=Offnnallow_url_fopen=Offnallow_url_include=Offnndisable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

После настройке перезапускаем сервер apachen

systemctl restart apache2

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

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

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

http://192.168.1.10/info.php

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

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

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

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

## Все операции выполняются как root ##n# Меняем владельца /var/www/html/nchown -R www-data:www-data /var/www/htmlnn# Устанавливаем только на чтение nchmod -R 0444 /var/www/html/nn# Проверяем чтобы пользователь apache мог читать файлы и не было ошибки HTTP/403 nfind /var/www/html/ -type d -print0 | xargs -0 -I {} chmod 0445 "{}"nn# Устанавливаем права на запись для директории $D/blog/wp-cache/?n# chmod -R 0775 /var/www/html/itfb.com.ua/blog/wp-cache/

Команды для управления LAMP

Остановка/запуск/перезагрузка Web сервера Apachen

systemctl start apache2nsystemctl stop apache2nsystemctl restart apache2nsystemctl status apache2

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

systemctl start mysqlnsystemctl stop mysqlnsystemctl restart mysqlnsystemctl status mysql

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

netstat -tulpn | grep :80nss -t -anss -t -a | grep httpnss -o state established '( dport = :http or sport = :http )'niptable -L -n -v | less

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

tail -f /var/log/apache2/access.logntail -f /var/log/apache2/error.logn### PHP ##ntail -f /var/log/apache2/php-error.logntail -f /var/log/apache2/itfb.com.ua/logs/error.logntail -f /var/log/apache2/itfb.com.ua/logs/access.log

Предоставляем услуги по установке и настройке ПО на Debian, а также круглосуточную тех поддержку серверов, подробнее [email protected]