Показаны сообщения с ярлыком apache. Показать все сообщения
Показаны сообщения с ярлыком apache. Показать все сообщения

Настройка mysql (my.cnf)

Настройка внешнего доступа

По скольку наш сервер находится удаленно, нам надо настроить доступ к mysql из вне (ну а если быть точным из внутренней сети). Мы принципиально не устанавливаем на стороне сервера phpMyAdmin. Для подключения к mysql используем HeidiSQL.
Для этого откроем конфигурационный файл mysql /etc/mysql/my.cnf. Выполним команду:
sudo nano /etc/mysql/my.cnf
В открывшемся файле следует заменить строку
#разрешить подключатся с любого хоста
bind-address            = 0.0.0.0
или
#разрешить подключатся только с указанного IP
bind-address            = 192.168.1.23
Не забываем после манипуляций перезагрузить mysql
sudo service mysql restart

Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server 

Возникает проблема Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server 
решим ее просто 
mysql -u root -p
USE mysql;
SELECT user,host FROM user;
Увидим перед собой таблицу со списком пользователей mysql
Для того что бы открыть доступ из вне необходимо выставить нужные привилегии пользователю. Выполним следующие команды в mysql:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_user_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Для выхода из консоли mysql используем команду \q

Не забываем после манипуляций перезагрузить mysql
sudo service mysql restart
Более подробнее всегда можно ознакомится на сайте вики.

Настройка apache (apache2.conf)

Forbidden. You don't have permission to access. LAMP

В первую очередь нам необходимо открыть доступ для нашей директории где у нас находятся web-ресурсы. Поскольку это не стандартная апачевская директория то нам надо создать доступ к своей директории где будут находится сайты. Иначе мы получим Forbidden.
Для этого откроем конфигурационный файл Apache /etc/apache2/apache2.conf. Выполним команду:
sudo nano /etc/apache2/apache2.conf
В открывшемся файле следует дописать
<Directory  "/mysites/">
        Options All
        AllowOverride All
        Require all granted
</Directory>
Не забываем после манипуляций перезагрузить apache
sudo service apache2 restart
Это позволит открыть доступ к директории из вне. Это решает проблему "Forbidden. You don't have permission to access /"

Добавление виртуальных хостов

Для того что бы апач видел наши сайты и сопоставлял их с доменами, в конфигурационный файл Apache /etc/apache2/apache2.conf необходимо добавить виртуальные хосты.
Выполним команду:
sudo nano /etc/apache2/apache2.conf
В открывшемся файле в самый конец файла дописываем:
NameVirtualHost *:80
<VirtualHost *:80>
      DocumentRoot "/mysites/test1/www/"
      ServerName domain-name.com
      ServerAlias www.domain-name.com
</VirtualHost>
....
<VirtualHost *:80>
      DocumentRoot "/mysites/test10/www/"
      ServerName domain-name.com
      ServerAlias www.domain-name.com
</VirtualHost>
Не забываем после манипуляций перезагрузить apache
sudo service apache2 restart
По уму виртуальные хосты должны хранится в отдельной папке, по мимо этого с отдельным конфигурационным файлом для каждого сайта.
То есть мы должны создать для каждого виртуального хоста отдельный конфиг в папке sites-available.
Для этого создадим отдельный конфиг, скопировав базовый функционал
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/testsite.conf
Далее откроем этот файл и допишем туда выше указанные параметры
sudo /etc/apache2/sites-available/testsite.conf

Настройка php.ini

Для того что бы размещать у себя довольно серьезные ресурсы нам не достаточно стандартных настроек PHP. Для этого немного модифицируем PHP что бы он позволял нам больше.

Отредактируем конфигурационный файл PHP, который находится по адресу etc/php5/apache2/php.ini. Выполним команду:
sudo nano /etc/php5/apache2/php.ini
В открывшемся фале заменим следующие значения:
max_execution_time = 120
max_input_time - комментируем данную строчку ";"
memory_limit = 128M
upload_max_filesize = 150M 
post_max_size = 200M
Сохраняем изменения и закрываем файл.

Для того что бы изменения вступили в силу необходимо перезагрузить apache-сервер:
sudo service apache2 restart

Настройка SSMTP почтового сервера

При настройке SSMTP почтового сервера для отправки e-mail сообщений через сторонний smtp-сервер, к примеру Gmail, в конфигурационном файле PHP указываем следующий параметр:
sendmail_path = /usr/sbin/ssmtp -t
Для того что бы изменения вступили в силу необходимо перезагрузить apache-сервер:
sudo service apache2 restart