Решил написать статью как заметку для самого себя, ведь не возможно все запомнить, заодно и кому то будет полезно.
LAMP — набор серверного программного обеспечения, для работы и разработки веб-приложений (Linux, Apache, MySQL, PHP)
И так начнем с установки самого основного. Apache, MySQL, PHP
sudo apt-get install apache2 php5 php5-mysql mysql-server
Отвечаем на все вопросы походу установки (задаем пароль для root-пользователя mysql)
Установки phpMyAdmin
sudo apt-get install phpmyadmin
Отвечаем на вопросы.
На первый выбираем apache (вы бор делаем нажатием на пробел).
Настроить базу данных для phpmyadmin с помощью dbconfig-common?
Выбираем — Да.
Вводим пароль рута mysql, и задаем пароль для пользователя phpmyadmin
После установки, переходим по адресу http://localhost/ и вы должны увидеть надпись вида:
It works!
This is the default web page for this server.
Если надпись вы увидели, значит все хорошо. Первый шаг готов.
PhpMyAdmin должен открыться по адресу: http://localhost/phpmyadmin/
Настройка
Для начала пропишем в hosts домен нашего будущего сайта.
sudo nano /etc/hosts
в первой строке, после 127.0.0.1 localhost через пробел прописываем свои домены по которым будет доступен сайт.
например у меня выглядит это вот так:
что бы сохранить нажимаем Ctrl-O, Enter, Ctrl+X
Чтоб апач на ругался на отсутствие название сервера настроим его.
sudo nano /etc/apache2/apache2.conf
В конце файла напишем
ServerName 127.0.0.1
Настройка виртуальных хостов
Далее настроим возможность работы нескольких сайтов.
Переходим в папку с хостами
cd /etc/apache2/sites-available/
Копируем настройки в новый файл (будущего сайта)
sudo cp ./default ./auto.dev
Вместо auto.dev — домен вашего сайта.
откроем наш новый файл настройки хоста.
sudo nano auto.dev
Вставим следующую запись:
[spoiler]
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName auto.dev
DocumentRoot /home/gansik/www/auto.dev
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/gansik/www/auto.dev>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory «/usr/lib/cgi-bin»>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ «/usr/share/doc/»
<Directory «/usr/share/doc/»>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
[/spoiler]
Не буду объяснять значение всех директив, их описание вы легко сможете найти в гугле. Прокомментирую лишь самые важные, которые вы должны изменить под себя.
ServerAdmin webmaster@localhost — почта админа
ServerName auto.dev — название сервера
DocumentRoot /home/gansik/www/auto.dev — путь к папке с сайтом для удобства я размещаю его в домашней директории
<Directory /home/gansik/www/auto.dev> — путь к папке с сайтом.
AllowOverride All — включаем возможность использование .htaccess
Далее включаем наш сайт
sudo a2ensite auto.dev
Вместо auto.dev — домен вашего сайта.
Перезагрузим апач.
sudo service apache2 reload
В корневой директории сайта создайте файл index.php c содержанием:
<?php
phpinfo();
?>
Откройте ваш сайт в браузере. Вы должны увидеть информацию о текущем статусе php. Если вы эту надпись увидели — поздравляем. Все прошло отлично. И теперь вы полноценно можете заниматься разработкой веб-приложений:)
Дополнительная информация.
Меняем пользователя от которого работает апач.
sudo nano /etc/apache2/envvars
Найдите строки:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
Изменяем www-data на тот который нужен
Дальнейшие все настройки каждый делает уже под себя, в статье показана минимальная настройка.