- установка
- Налаштування Apache
- Налаштування віртуальних хостів
- Прискорюємо сервер (Opcode Cacher)
- Вимикаємо автозапуск apache2 і mysql
- Вимикаємо автозапуск Apache:
- Вимикаємо автозапуск MySQL:
- Дозволяємо підключення до MySQL з Світу
Наша взаимовыгодная связь https://banwar.org/
Вирішив оформити нарешті своє HOW-TO на форумі в нашій вікі, тому що це правильніше і форматування тут зручніше. Я постарався викласти матеріал коротко, навмисно упустив подробиці, що не мають прямого відношення до суті (на кшталт того, що конфіги сервера потрібно правити від рута). Вважаємо, що читач має базовий рівень роботи з Лінукс-системами.
Виконавши цей розділ, ви отримаєте базовий, який працює веб-сервер
установка
apt-get install lamp-server ^ phpmyadmin lamp-server ^ - поставить базовий набір lamp (Linux Apache Mysql PHP).
phpmyadmin - веб-інтерфейс для управління БД MySQL.
Іноді при копіпаст коду установки може вилазити помилка, що якийсь пакет не знайдений. Насправді все правильно, просто глюк копипаста. Рішення вбити руками команду або спробувати стерти назву проблемного пакета разом з пробілами по краях і вбити руками тільки його.
Налаштування Apache
Персональні налаштування
Починаючи з версії Ubuntu Saucy (13.10) свої настройки слід писати в / etc / apache2 / conf-available, активувати настройки слід за допомогою команди a2enconf.
Свої налаштування слід писати в /etc/apache2/conf.d, тобто створити там файл, наприклад, myconf.conf і визначити в ньому свої настройки.
## Файл персональних налаштувань веб-сервера Apache ## Щоб усунути попередження при перезапуску Apache (хоча в цілому на продуктивності це не відіб'ється) ServerName localhost ## Для того, щоб Apache інтерпретував php і не пропонував зберегти php-файл AddType application / x- httpd-php .php .phtml ## Установка кодування UTF-8 за замовчуванням AddDefaultCharset UTF-8
Для того, щоб так само працювали файли php, які починаються з «<? »Замість« <? Php »потрібно, щоб в /etc/php5/apache2/php.ini було short_open_tag = On
Після внесення змін до конфіги Apache, його потрібно перезапустити, щоб ізмненія вступили в силу
service apache2 restart
Налаштування віртуальних хостів
Є кілька способів, я ж розповім про те як повісити кілька віртуальних хостів на один IP c доступом до них по імені сервера.
127.0.0.1 host2.server1 host1.server1
і створюємо там файли, назвами яких будуть назви, створюваних серверів, наприклад host1.server1.conf і host2.server1.conf в ці файли пишемо (тут показано найпростіше, докладніше можна зацінити в файлі default):
<VirtualHost *: 80> ServerName host1.server1 DocumentRoot /var/www/host1.server1 <Directory /var/www/host1.server1> AllowOverride All </ Directory> </ VirtualHost> <VirtualHost *: 80> ServerName host2.server1 DocumentRoot /var/www/host2.server1 <Directory /var/www/host2.server1> AllowOverride All </ Directory> </ VirtualHost> a2ensite host1.server1 host2.server1
Видаляються симлінк таким же чином командою a2dissite
http: //host1.server1 http: //host2.server1
Цей розділ застосовувати не обов'язково, у вас вже все працює після 1-го розділу. Однак ви можете знайти тут щось корисне. Я рекомендую не обділити увагою прискорення (opcode cacher)
Прискорюємо сервер (Opcode Cacher)
Акселератор PHP - програма, яка прискорює виконання сценаріїв PHP інтерпретатором шляхом кешування їх байткода.
http://ru.wikipedia.org/wiki/Акселератор_PHP
Не встановлюйте відразу кілька акселераторів PHP, це не дасть ніякого результату. Починаючи з версії PHP 5.5 в інтерпретатор за замовчуванням включений Zend OPcache. У зв'язку з цим, а також тому що дана стаття описує базову настройку, з неї прибрані опису установки php-apc і php-xcache
Вимикаємо автозапуск apache2 і mysql
ВАМ ЦЕ ДІЙСНО ПОТРІБНО? Ці демони стартують в рідній для себе середовищі в рази швидше ніж Денвер в винде, думаю від 1 сек до часу завантаження ОС і 10 мб ОЗУ вам гірше не стане, а зайвих рухів тіла не буде ...
Вимикаємо автозапуск Apache:
sudo update-rc.d -f apache2 remove
Вимикаємо автозапуск MySQL:
sudo nano /etc/init/mysql.conf
коментуємо рядки:
start on (net-device-up and local-filesystems and runlevel [2345])
тобто повинно бути так:
#start on (net-device-up # and local-filesystems # and runlevel [2345])
Дозволяємо підключення до MySQL з Світу
Потрібно для підключення веб-сервера або іншої програми, що знаходиться на іншому сервері. У разі, якщо у вас вони крутяться на одному сервері цього робити не потрібно!
за замовчуванням mysql не приймає tcp з'єднання тому прослуховує тільки 127.0.0.1
/etc/mysql/my.cnf
# # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1
Найпростіше - просто закомментировать цей рядок.
Крім цього потрібно додати користувача, який з різних місць і з різних програм може з'єднуватися з базою, наприклад «admin»:
GRANT ALL PRIVILEGES ON *. * TO admin @ "%" IDENTIFIED BY 'my_admin_password' WITH GRANT OPTION;