Установка 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://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