Вы находитесь на странице: 1из 5

Базовая установка и настройка веб-сервера

Выполнив этот раздел, вы получите базовый, работающий веб-сервер

Установка

apt-get install apache2 php5 php5-mysql mysql-server phpmyadmin

apache2 - веб-сервер

php5 - интерпретатор языка php

php5-mysql - для работы с мускулем из php

mysql-server - СУБД MySQL

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

После внесения изменений в конфиги Apache, его нужно перезапустить, чтобы измнения
вступили в силу

service apache2 restart


Настройка виртуальных хостов
Есть несколько способов, я же расскажу о том как повесить несколько виртуальных
хостов на один IP c доступом к ним по имени сервера.
 В /etc/hosts прописываем наши хосты:

127.0.0.1 host2.server1 host1.server1

 Идём в /etc/apache2/sites-available

и создаём там файлы, названиями которых будут названия, создаваемых серверов,


например 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>

 Далее создаём симлинки на эти файлы в директории /etc/apache2/sites-enabled с


помощью команды a2ensite:

a2ensite host1.server1 host2.server1

Удаляются симлинки таким же образом командой a2dissite


 Перезапускаем Apache, пробуем в браузере открыть хосты

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.
Ставим или APC или XCACHE, оба ставить не надо!

APC
Начиная с версии Ubuntu Saucy (13.10) в систему устанавливается PHP 5.5 с
предустановленным Zend OPcache. Пакет php-apc не устанавливает opcode кэшер, вместо
этого он устанавливает пакет php-apcu с частью функционала (кэширование
пользовательских данных).

apt-get install php-apc

Файл настройки /etc/php5/apache2/conf.d/apc.ini.

extension=apc.so

realpath_cache_size=4096k

apc.max_file_size=4M

apc.shm_size=128M

apc.mmap_file_mask=/tmp/apc.XXXXXX

apc.ttl=3600

apc.user_ttl=3600

apc.gc_ttl=3600

XCACHE
apt-get install php-xcache

Файл настройки /etc/php5/apache2/conf.d/xcache.ini.

realpath_cache_size=4096k

xcache.size=40M

xcache.slots=8K

xcache.ttl=3600

Также можно указать число ядер вашего процессора:

xcache.count=2
понятно, что это для 2-х голового.
Однако, я получил при этом падение производительности в Битриксе на 5-10%.
Попробуйте, мб в вашем случае будет рост.

Выключаем автозапуск 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;