Локальный сервер для Ubuntu

Local Ubuntu Server

Я не буду вам рассказывать как необходимо поднимать сервере для размещения сайтов в сети, я просто расскажу что необходимо сделать для запуска своего локального сервера для разработки сайтов.

Установка LAMP

Для начала установим все необходимые компоненты для сервера LAMP (Linux+Apache+MySQL+PHP)
~$: sudo apt-get install apache2
~$: sudo apt-get install php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql imagemagick
~$: sudo apt-get install mysql-server
~$: sudo apt-get install phpmyadmin

Теперь проведем настройку сервера Apache

По умолчанию Apache работает от имени пользователя www-data той же группы
Проводим замену пользователя и группы в файле /etc/apache2/envvars
~$: sudo gedit /etc/apache2/envvars

В открытом файле меняем
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

на (eugen замените на ваше имя пользователя и имя группы)
export APACHE_RUN_USER=eugen
export APACHE_RUN_GROUP=eugen

Работа над ишибками

После смены пользователя, от чьего имени запускается Apache2, при перезагрузке сервер может Вам вернуть следующее:
* Restarting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting /var/lock/apache2 already exists but is not a directory owned by eugen.
Please fix manually. Aborting.
[fail]

Но ничего страшного. Данный баг можно пофиксить так:
sudo rm -R /var/lock/apache2
sudo service apache2 start

Подключаем модуль Mod rewrite

$: sudo a2enmod rewrite
Теперь в участке конфигурации домашней веб-директории необходимо изменить AllowOverride None на AllowOverride All. В моем случае эта от участок кода находится в файле /etc/apache2/apache2.conf. Ранее он находился в файле конфигурации /etc/apache2/sites-avaliable/default. Времена меняются и конфигурация тоже. Но скажу что этот участок кода миеет такой вид

<Directory /home/eugen/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Настройка корневой веб-директории

По умолчанию установленный сервер использует директорию /var/www как рабочую, мне на много удобнее использовать директорию ~/www, а кому-то ~/public_html для того что бы сменить ее необходимо поменять следующую конфигурацию
~$: sudo gedit /etc/apache2/sites-available/default

Здесь меняем все упоминания /var/www на директорию необходимую вам.

Настройка виртуального хоста

Также очень удобным может быть использование виртуальных хостов для этого:

Добавляем в файл /etc/hosts строку 127.0.0.1 site1.loc после строки 127.0.0.1 localhost
~$: sudo gedit /etc/hosts

Создаем и открываем файл /etc/apache2/sites-available/site1.loc.
sudo gedit /etc/apache2/sites-available/site1.loc

Добавляем в открывшееся окно следующий код.
<VirtualHost *:80>
ServerName site1.loc
ServerAlias www.site1.loc
DocumentRoot /home/eugen/www/site1
</VirtualHost>

Затем создаем символический линк на этот файл

~$: sudo ln -s /etc/apache2/sites-available/site1.loc /etc/apache2/sites-enabled/

Либо просто пишем в терминале следующий текст
sudo a2ensite site1.loc

Перезагружаем сервер. Это также как и создание виртуального хоста можно сделать двумя способами.
~$: sudo /etc/init.d/apache2 restart

~$: sudo service apache2 restart

Ссылки
https://help.ubuntu.com/community/ApacheMySQLPHP

1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *