Установка lamp на ubuntu 9.04, 10.04, 12.04, 14.04

Для установки LAMP в ubuntu 9.04 первым делом необходимо нуждаться в этом 😉

Шаг 1

Обновить систему. Для этого необходимо выполнить в консоли команду

sudo aptitude update

Шаг 2. Устанавливаем lamp.

Загрузить и установить lamp (apache2, php5, mysql server). Выполнить в консоли команду.

sudo aptitude install apache2 php5 php5-mysql mysql-server

В процессе установки появится синий экран с полем для ввода пароля для mysql — необходимо его придумать и вбить ОК

Шаг 3. Включаем модуль PHP

Включить модуль PHP5. Выполняем в консоли команду.

sudo a2enmod php5

Шаг 4. Перезапуск apache2

Перезапустить apache.

sudo /etc/init.d/apache2 reload (или) restart

apache2 готов к работе.

Шаг 5. Проверяем работоспособность.

Что бы проверить работает ли apache2 необходимо перейти по ссылке http://localhost или просто набрать в Вашем браузере:

http://localhost

Если появилась надпись «It work» то apache работает.

Для проверки php создаем файл phpinfo.php.

gksu gedit /var/www/phpinfo.php

В только что созданном и открытом в gedit файле пишем:

<?php phpinfo(); ?>

 

Сохраняем файл.
Таким образом при открытии созданного файла http://localhost/phpinfo.php в браузере отобразится информация о php и его настройках.

Шаг 6. Установка phpmyadmin.

Команда в консоли

sudo aptitude install phpmyadmin

Делаем символическую ссылку

sudo ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin

Теперь доступно по адресу http://localhost/phpmyadmin/

Шаг 7. Включаем Mod Rewrite.

Мне он нужен для того что бы использовать ЧПУ в Joomla

sudo a2enmod rewrite 

Удаление apache2

sudo apt-get --purge remove apache2
sudo apt-get --purge remove apache2.2-common

После удаления apache2 остаются каталоги с конфигами и логами и при следующей установке сервера эти файлы снова будут использоваться при работе. Удаляем их:

sudo rm -r /var/www
sudo rm -r /etc/apache2
sudo rm -r /var/log/apache2

Источники рекомендую

http://welinux.ru/post/834/

http://habrahabr.ru/blogs/ubuntu/20525/

Папки команды apache2

Конфигурационные файлы apache2

etc/apache2

Конфигурационные файлы php5

/etc/php5

Включить модуль

sudo a2enmod
//например что бы включить модуль php5 необходимо ввести команду
sudo a2enmod php5

Отключить модуль можно командой

sudo a2dismod имя модуля

Включить хост

sudo a2ensite имя хоста

Выключить хост

sudo a2dissite имя хоста

Включение сервера apache2

sudo /etc/init.d/apache2 start

Выключение сервера apache2

sudo /etc/init.d/apache2 stop

Перезапуск сервера apache2

sudo /etc/init.d/apache2 restart

Обновление конфигурации без перезапуска сервера

sudo /etc/init.d/apache2 reload

Установка webmin

webmin — web интерфейс для управления сервером на базе ‘nix подобных операционных систем.
Перед установкой webmin необходимо установить пакеты необходимые для его работы.

sudo apt-get install libauthen-pam-perl libio-pty-perl libpam-runtime libmd5-perl libnet-ssleay-perl

После установки этих пакетов необходимо скачать сам webmin отсюда

Запустить установочный deb пакет и установить webmin. Перезапустить apache2:

sudo /etc/init.d/apache2 restart

В браузере открыть ссылку https://localhost:10000/, принять сертификат и залогиниться с паролем пользователя с правами root. И указать в настройках webmin «Русский язык»

Управление webmin

sudo /etc/init.d/webmin start (restart, stop)
 

Удаление Webmin

sudo apt-get --purge remove webmin

Если возникли трудности то первым делом идем сюда потому что здесь можно почитать ответы на самые распространенные вопросы http://forum.ubuntu.ru/index.php?topic=52552.0

Создание виртуальных хостов

Здесь отдельная статья посвященная созданию и настройке виртуальных хостов

НЕЗАБЫВАЕМ ОСТАНАВЛИВАТЬ APACHE2

Если Вы работаете на локальной машине с клонами сайтов (здесь я имею ввиду что Вам не надо замарачиваться по пустякам) то настройка виртуальных хостов этим методом Вам подойдет:

sudo nano /etc/hosts или sudo gedit /etc/hosts
Открывается файл а там

127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

это значит что сейчас настроен только один виртуальный хост и он называется localhost на один ip 127.0.0.1
Здесь мы напишем так

127.0.0.1 localhost.localdomain localhost
127.0.0.2 test

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Указываем что виртуальный хост test находится на ip 127.0.0.2 сохраним и добавим в строку перед localhost localhost.localdomain что бы после не возникло проблем с apache2 так правильнее

Едем в другой файл

sudo nano /etc/apache2/httpd.conf

Не смотрим что там написано и копируем в самый конец следующее

NameVirtualHost 127.0.0.2 — ip который Вы указали в файле hosts
кавычкиVirtualHost 127.0.0.2 кавычки (забавное слово) вот такие <
ServerName test — имя которое указано в файле hosts
DocumentRoot «/home/user/project/test/www»
— адрес к папке где лежит проект
кавычки/VirtualHost 127.0.0.2 кавычки (ну не прикрутил я еще поддержку кода )

сохраняем

перезапускаем apache2

В браузере пишем test и получаем результат

Кстати долго мучился с настройкой виртуального хоста через файлы /etc/apache2/sites-available/ ничего не получилось только жизнь усложняет для локалки хватит и способа описанного выше

Возможные трудности

Если появляется ошибка not found при переходе по ссылке Localhost/phpmyadmin/, то нужно открыть файл sudo gedit /etc/apache2/apache2.conf и добавить в конце строку:

Include /etc/phpmyadmin/apache.conf

Если все сделали по инструкции но хосты не открываются первым делом необходимо проверить права на папки в которых лежат файлы сайта

Для того что бы apache2 имел доступ к файлам необходимо проставить права

sudo chown -R www-data /home/папка

Что бы вы могли работать с файлами необходимо в консоли выполнить

sudo chmod -R 777 /home/папка

Столкнулся с подобной проблемой при запуске виртуального хоста выдает ошибки

Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
Fatal error: Unknown: Failed opening required '/home/user/host/test/www/index.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0

Решение нашел здесь http://forum.ubuntu.ru/index.php?topic=45252.0
А именно изменил права на папку host

sudo chmod -R  777 /home/user/host/tvoya-papka-sita 

Все заработало

Еще одна фишка при старте или рестарте aoache выдает в консоли следующее

apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

Вылечил так:
Файл /etc/hosts у Вас скорее всего выглядит так

127.0.0.1       localhost
127.0.1.1       имя компьютера

А должен выглядеть так

127.0.0.1    localhost.localdomain  localhost
127.0.1.1    localhost.localdomain  имя компьютера

После чего все Нормально запускается

Нельзя размещать папку с хостами на на файловых системах fat и htfs. Так как в этих фс нет возможности поменять права на файлы. И сервер не может использовать ее со своими правами. Ошибка

403 Forbidden

You don't have permission to access / on this server.
Apache Server at 127.0.0.1 Port 80