Разработка сайтов в Ubuntu или LAMP = Ubuntu + Apache + MySQL + PHP

Ubuntu – это линукс для людей. Поэтому, установка набора для веб-разработчика в нём производится одной командой:

sudo tasksel install lamp-server

После её выполнения, на вашем компьютере обоснуются Apache, MySQL и PHP. А мы сразу же займёмся созданием первого сайта.

Все сайты, над которыми тружусь, я храню в папках вида ~/Sites/www.example.com.dev/. Это удобно, потому как не приходится настраивать права доступа к файлам и придумывать структуру папок в /var/www/, а так же каждому из них можно выделить человекочитаемое имя, оканчивающееся на .dev (которое соответствует названию папки), и при разработке и тестировании набирать в адресной строке браузера www.rotuka.com.dev и попадать на локальную версию вашего сайта.

Создание и настройка текстового сайта

Допустим, мы приступаем к разработке сайта rotuka.com, тогда создадим для него личную папку

mkdir -p ~/Sites/rotuka.com.dev/public

Теперь, нам нужно рассказать нашему локальному апачу об этом сайте. Создаём файлик для этого сайта:

sudo gedit /etc/apache2/sites-available/rotuka.com.dev

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

<VirtualHost *:80>
    ServerName rotuka.com.dev
    ServerAlias www.rotuka.com.dev
    DocumentRoot /home/$USER/Sites/rotuka.com.dev/public
</VirtualHost>

где $USER нужно заменить на ваше имя пользователя.

Сохраняем файл, закрываем gedit и говорим апачу, что этот сайт теперь нужно обслуживать:

sudo a2ensite rotuka.com.dev

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

sudo /etc/init.d/apache2 reload

Теперь, настроим удобное обращение к сайту. Для этого пропишем, что хост rotuka.com.dev обслуживается на нашем компьютере, локально. Открываем файл /etc/hosts

sudo gedit /etc/hosts

находим там строку, начинающуюся на 127.0.0.1 (обычно, это первая строка) и вписываем в её конец, через пробел от предыдущих данных, rotuka.com.dev. Сохраняем файл, закрываем редактор.

Теперь кидаем какой-нибудь файлик index.html в папочку нашего сайта (/home/$USER/Sites/www.rotuka.com.dev/public) или выполняем команду

echo -e "<html>\n  <head>\n    <meta http-equiv="Content-type" content="text/html;
charset=utf-8" />\n    <title>Тестовый сайт</title>\n  </head>\n  <body>\n
<h1>Тестовый сайт</h1>\n    <p>Привет, веб-разработчик</p>\n  </body>\n</html>\n"
> /home/$USER/Sites/rotuka.com.dev/index.html

Всё, теперь уже можно вписать в адресную строку браузера http://rotuka.com.dev/ и увидеть, что сайт вас приветствует (-:

Ссылки по-теме:

Теги: , , ,

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

Комментарии (27) на “Разработка сайтов в Ubuntu или LAMP = Ubuntu + Apache + MySQL + PHP”

  1. roTuKa говорит:

    Нужно создать новый сайт в /etc/apache/sites-available, активировать его командой a2ensite и прописать в /etc/hosts его имя в строке с 127.0.0.1
    Это всё.

  2. u0412u043bu0430u0434u0438u043cu0438u0440 говорит:

    u0417u0434u0440u0430u0432u0441u0442u0432u0443u0439u0442u0435! u041fu043eu043bu0435u0437u043du0430u044f u0441u0442u0430u0442u044cu044f. u042f u0432 u041bu0438u043du0443u043au0441u0435 u043du043eu0432u0438u0447u0435u043a, u0447u0442u043e-u0442u043e u043du0435 u043fu043eu0439u043cu0443, u043du0443u0436u043du043e u0434u043bu044f u043au0430u0436u0434u043eu0433u043e u0441u0430u0439u0442u0430 u0441u0432u043eu0439 u0441u0435u0440u0432u0435u0440 u0441u043eu0437u0434u0430u0432u0430u0442u044c? u041du0430 u0414u0435u043du0432u0435u0440u0435 u043du0430u0434u043e u0431u044bu043bu043e u043fu0440u043eu0441u0442u043e u043fu0430u043fu043au0443 u0441u043eu0437u0434u0430u0442u044c u0438 u0432 u043du0435u0439 u0441u0430u0439u0442 u0434u0435u043bu0430u0442u044c. u0410 u0437u0434u0435u0441u044c u0447u0442-u0442u043e u043du0435 u0434u043eu0433u043eu043du044e.. u043c.u0431. u043eu0431u044cu044fu0441u043du0438u0442u0435? u0410 u0442u043e u0432 u043au043eu043du0444u0438u0433u0435 u0410u043fu0430u0447u0430 u043fu0440u043eu043fu0438u0441u0430u043du043e max Servers =2 u0441u043eu043eu0442u0432u0435u0442u0432u0435u043du043du043e u0431u043eu043bu044cu0448u0435 2 u043du0435 u0434u0430u0435u0442 u0437u0430u043fu0443u0441u043au0430u0442u044c. u0418u043bu0438 u043du0430 u043fu043eu0434u0434u043eu043cu0435u043du0430u0445 u0434u0435u043bu0430u0442u044c?

  3. roTuKa говорит:

    А можно подробнее? В какой системе делали (Ubuntu 7.04, 7.10, 8.04, 8.10)? По какому адресу обращаетесь, получаете ответ?

  4. Alexey говорит:

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

  5. o_O говорит:

    Огромное спасибо!А то из сорцов собирать пытался, а оно вечно ругалось…та и все пакеты ставить по отдельности тааааааааааак харило…а тут всё легко, просто и понятно….спасибо

  6. roTuKa говорит:

    Пожалуйста!
    Люблю быть полезным.

  7. Diman говорит:

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

  8. hanbash говорит:

    спасибо! татья помогла. теперь работает.

  9. wicked_kiD говорит:

    спасибо за пост, подскажите только, пожалуйста, у меня во время установки нет отрублися, и выдало ошибку, теперь доставляться не хочет, как все это удалить, чтобы поставить заново? заранее спасибо =)

  10. roTuKa говорит:

    Попробуйте в консоли: sudo apt-get -f install

  11. yan говорит:

    хороший FAQ по установке необходимого софта находится тут: http://boxtor.ru/coding/webdev-web-faq.html

  12. Alexander Semyonov говорит:

    И правда неплохой.

  13. zmeu говорит:

    sudo /etc/init.d/apache2 restart
    * Restarting web server apache2
    httpd (no pid file) not running
    [fail]
    А у меня так ругаеться, что может быть?

  14. Alexander Semyonov говорит:

    Это говорит о том, что httpd (демон Апача) не запустился. Смотрите в логи (/var/log/apache2/error.log), там все написано.

  15. zmeu говорит:

    спс. все получилось =)

  16. exiter говорит:

    А есть какой то бандл по Ubuntu?

  17. _porodox_ говорит:

    Странно, что с другой машины я все равно вижу дефолтовую страницу сервера….
    даже при замене в "hosts" на "127.0.0.1 mypage.com"

  18. _porodox_ говорит:

    Разобрался…

  19. pilotmaks.livejournal.com/ говорит:

    Поклон тебе и уважуха.

  20. tw1ns говорит:

    Спасибо за статью… действительно просто и доходчиво)

  21. cobain говорит:

    Все поставилось ок, но mysql почему-то не пускает. Пишу mysql -u root -p, просит пароль, ввожу, говорит access denied. Варианта два – либо mysql глючит, либо я забыл пароль (маловероятно, но всякое бывает). Вопрос что теперь делать. не систему же переустанавливать.

  22. Alexander Semyonov говорит:

    Скорее всего, забыли пароль. Возможно, также, что сервер MySQL не запущен (sudo service mysql start).
    К сожалению, не скажу, как с этим бороться, потому как не сталкивался с такой проблемой. Поищите в интернете.

  23. Николай говорит:

    Попробовал сделать на Ubuntu 9.04
    При этом почему-то при вводе адреса в строку – показывает файл из папки var/www
    В чем может быть дело?

  24. roTuKa говорит:

    Напортачили что-то в описании виртуального хоста.

  25. solarisadmin говорит:

    Еще неплохо бы добавить логирование для каждого хоста в отдельности. Я делаю это так (добавлять междй тэгами VirtualHost):
    ErrorLog "/home/www/logs/mysite.err.log"
    CustomLog "/home/www/logs/mysite.acc.log" combined

  26. anik говорит:

    А как удалять опубликованные сайты через a2ensite ?

  27. anik говорит:

    разобрался
    sudo a2dissite …

Оставить комментарий

Вы должны авторизоваться для отправки комментария.