Web-сервер на Ubuntu (PHP + MySQL + Apache)

Довольно популярный вопрос у новичков в Ubuntu - как поставить web-сервер. Причины могут быть разные, но основная - научиться программировать. Так вот, поставить web-сервер на ubuntu не просто, а очень просто! Сейчас мы всё подробно разберём. 

В комментариях порекомендовали перед установкой веб-сервера поставить пакет tasksel:

sudo apt-get install tasksel

Установка PHP, MySQL и Apache на Ubuntu

Для начала установим необходимые пакеты. Делается всё в одну команду:

sudo tasksel install lamp-server

Всё! Теперь на вашей Ubuntu установлены PHP, MySQL и Apache.

Создание сайта

Теперь создадим свой сайт. Пусть это будет super-puper.com. Создадим директорию для всех ваших сайтов, а заодно и для супер-пупера:

mkdir -p ~/sites/super-puper.com/public

Теперь сообщим апачу о новом сайте. Создаём файл:

sudo gedit /etc/apache2/sites-available/super-puper.com

И вписываем туда следующие строки:

1
2
3
    ServerName super-puper.com
    ServerAlias www.super-puper.com
    DocumentRoot /home/логин/sites/super-puper.com/public

Не забудьте вместо "логин" вписать свой логин в системе.

Сохраняем файл. Теперь нужно сообщить апачу, что сайт нужно обслуживать. Пишем в терминал:

sudo a2ensite super-puper.com

А затем перезагрузим его:

sudo /etc/init.d/apache2 reload

Теперь нам нужно, что бы при вводе в браузере адреса super-puper.com открывался наш локальный сайт, а не с интернета. Поэтому открываем файл hosts:

sudo gedit /etc/hosts

И в первой строчке, сразу за "127.0.0.1 localhost" прописываем super-puper.com. Должно получиться примерно следующее:

1
2
3
4
5
6
7
8
9
10
127.0.0.1 localhost super-puper.com
127.0.1.1 laptop
 
# 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

Теперь заходим в нашу папочку сайта (в папке /home/sites, если не забыли), создаём файл index.html и пишем там что нибудь. Я обычно создаю такой простой файл:

Hello, world!

Сохраняем файл и заходим на super-puper.com. Если всё сделали правильно, то появится надпись "Hello, world!", а значит сервер установлен и готов к работе.

Constantin Chuprik
2011-07-10 03:01:00
установка lamp сервера не вариант... во первых с нуля лучше, изза более простого переноса на хостинг, имхо. во вторых - половина мануалов на модули для apacha (например eAccelerator) написаны для серверов с нуля.. может быть и проканает lamp, но все же
Жилье в Алуште
2011-08-10 22:31:00
Отдых в Алуште http://alushta-kyrort.ru/
BaDos
2011-07-19 13:17:00
Еще было бы для начинающих хорошо написать установку и настройку локального pop и smtp сервера. Для тестирования отправки почты с сайта с прикреплением файлов и т.д. Или какую-то smtp-заглушку.
Maks
2011-09-27 13:02:00
 Это все пишут сами для себя за пять минут.А phpmyadmin установить надо.Ответ:"Так это просто "Сотни таких статей
Xorik_off
2011-10-01 14:50:00
Я сделал все так как было описано. Работает, но отвалились и картинки, и css-файлы, и javascript-файлы, в общем все, что находится в папке с сайтом но в отдельных каталогах. Как быть? 
Maksim_zp
2012-04-01 04:29:00
Фигня полнейшая! Хоть бы не писали про "очень просто", а то впечатление такое, что издеваетесь. В тысячный раз ввожу 'sudo taskel install lamp-server' и в тысячный раз читаю в ответ 'not found'. Уже голова квадратная, весь Интернет излазил - нигде толкового объяснения не нашёл. Да здравствуют супервеликие Гуру..............
Sk8er
2012-04-02 06:05:00
Тут проблема не в мане или установщике. В вашем случае проблема сидит у монитора.
Maksim_zp
2012-04-02 12:46:00
Это в вашем, случае, милейший, у монитора. И ещё какая проблема. Вот, рекомендую взглянуть, как пишут мануалы настоящие специалисты (а не псевдо): Установка и настройка Apache2+PHP5+MySQL+XDebug & Eclipse+PDT+XDebug в Ubuntu 7.10 / Хабрахабр И бросьте дурную привычку хамить незнакомцам.
Maksim_zp
2012-04-02 13:10:00
Вот ссылка на нормальный мануал:  http://habrahabr.ru/post/20736/ В предыдущем комменте, почему-то не добавилась. Видимо, и сайт столь же кривой, как и  мануалы его пафосного владельца:)..
Sk8er
2012-04-02 13:18:00
Мануал выше у всех работал - у вас нет. Ссылки у всех вставляются - у вас нет. Продолжайте утешать себя, что проблема действительно не сидит у монитора, а в моём сайте и в мануале.
Autoxarkov
2012-04-27 20:03:00
 Добавьте в пост первой командой sudo apt-get install taskselбез нее не прокатит.
Sk8er
2012-05-04 22:32:00
Добавил в пост
Trofim Igor
2012-05-24 17:43:00
sudo apt-get install lamp-server^ sudo apt-get install phpmyadmin server gotov
Александр
2012-06-07 21:01:00
Кинул на локал Вордпресс. при запуске сайта - вылетает 500я ошибка
Евгений Гладков
2012-06-16 12:25:00
Спасибо статья просто блеск у меня все работает =) теперь можно сайтики писать
Александр
2012-07-27 15:06:00
Вы посмотрите, какую команду вы вводите в терминал: taskel. Такой команды нет. Есть tasksel. Внимательней нужно быть...
Toma Nosopyrkina
2013-08-22 02:04:00
temp@temp-HP-ProBook-4740s:~$ service apache2 reload * Reloading web server config apache2 /usr/sbin/apache2ctl: 87: ulimit: error setting limit (Operation not permitted) Warning: DocumentRoot [/home/temp/sites/s-p.com/public] does not exist apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName httpd not running, trying to start (13)Permission denied: make_sock: could not bind to address [::]:80 (13)Permission denied: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs Action 'graceful' failed. The Apache error log may have more information. не подскажете, что тут такое?что сделать?
Kolia
2013-08-25 23:00:00
С другого уомпютера сайт смогут увидеть?
Владимир
2013-09-16 02:14:00
Извените за вопрос не в тему но как настроить dns сервер если он на ubuntu вместе с lamp подключен через роутер ? - Возможно ли ето?
Cybeeq
2013-09-21 10:14:00
user@username:~$ sudo tasksel install lamp-server tasksel: программа aptitude завершилась неудачно (100)
Бунту
2013-10-29 21:16:00
Что за ошибка? Помогите разобраться. Syntax error on line 2 of /etc/apache2/sites-enabled/testsite.com: ServerAlias only used in Action 'configtest' failed. The Apache error log may have more information. ...fail!
Max Kosmonavt
2013-12-23 18:01:00
А как обычный сервер на runtu поставить? Нужен для перекачки файлов с кпк на ПК и обратно.
Andrey
2014-02-05 00:57:00
Все как бы работает но только сайт открывается в интернете
ZVSE
2014-10-04 14:36:00
$ sudo gedit /etc/hosts дописываем строку 127.0.0.1 super-puper.com сохраняем Пробуем
ZVSE
2014-10-04 14:40:00
Попробуйте такой виртуалхост: ServerAdmin admin@localhost ServerName my-site.loc ServerAlias www.my-site.loc DocumentRoot /home/user/projects/my_site Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all # ErrorLog ${APACHE_LOG_DIR}/$server_alias-error.log; LogLevel warn # CustomLog ${APACHE_LOG_DIR}/$server_alias-access.log combined
ZVSE
2014-10-04 14:42:00
зачем phpmyadmin?) mysql -hlocahost -uroot -p123456 ;)
Никита Токаренко
2016-05-27 16:32:47
Нет, только смогут увидеть если у вашего устройства статический IP