Как установить 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
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
nНастройка 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
nНастройки безопасности 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]