За последние 24 часа нас посетили 22907 программистов и 1235 роботов. Сейчас ищут 734 программиста ...

apache, php, mysql, virtualhosts на Linux Debian и сородичах

Тема в разделе "Установка PHP", создана пользователем Danilevsky, 2 ноя 2007.

  1. Danilevsky

    Danilevsky Активный пользователь

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    !! для медераторов !! уважаемые модераторы, прошу поставить этой теме статус важно, что б ее было видно, а то когда-то, когда я только установил себе Linux мне очень нехватало how-to по установке сабжа.
    Теперь, попытаюсь исправить ситуацию. :D

    Данное how-to претендует на то, что бы рассказать вам как самостоятельно настроить сервер на своей linux (debian, ubuntu и сородичи) машине (например, для отладки и проектирования собственных скриптов).

    Сначала давайте установим все копмоненты:
    Код (Text):
    1. sudo aptitude install apache2
    2. sudo aptitude install php5
    3. sudo aptitude install php5-mysql
    4. sudo aptitude install mysql-server
    Зависимости и остальные необходимые компоненты aptitude или apt-get должен подхватить и установить как положено.

    Теперь нам нужно проверить работу установленных компонентов:
    Перезагружаем apache:
    Код (Text):
    1. sudo /etc/init.d/apache2 restart
    далее в директории /var/www/, создадим файл phpinfo.php :
    Код (Text):
    1. sudo vi /var/www/phpinfo.php
    со следующим содержимым:
    Теперь в браузере набираем localhost/phpinfo.php.
    Если все прошло гладко вы должны увидеть таблицу синевато-серых цветов с параметрами php.
    Рассмотрев таблицу, идем дальше. Нужно поставить пароль для mysql.
    Вообщето в последней версии mysql пароль у вас должны были попросить во время установки,
    но если этого не произошло делаем следующее:
    Код (Text):
    1. sudo mysqladmin -u root password XXXXXX
    XXXXXX - это ваш будущий пароль для mysql-server.

    Настройка виртуальных хостов:

    Зачем это нужно?
    Допустим у вас несколько сайтов. Вы мучаете себя, каждый раз заходя на localhost/site1/ или localhost/site2.
    Давайте прекратим ваши мучения и поставим виртуальные хосты:
    Отныне вы сможете обращаться к своим сайтам так: "dev.site1.com" или "site", или http://www.site.net, или вообще как угодно (в пределах разумного).
    Ну начнем. Будем настраивать два виртуальных хоста: dev.site.com и dev.site.net.
    Заходим в следующий каталог: /etc/apache2/sites-available/
    создаем в нем файл hosts следующего содержания:

    как видим в файле есть какие-то несуществующие пути. создаем их:
    Код (Text):
    1. mkdir /var/www/dev.site.net/htdocs/
    2. mkdir /var/www/dev.site.net/logs/
    3. mkdir /var/www/dev.site.com/htdocs/
    4. mkdir /var/www/dev.site.com/logs/
    не забываем в папке логов (выше) создать сами файлы логов:
    error.log
    access.log

    тепрь заходим в следующую директорию:
    /etc/apache2/sites-enabled/
    создаем в этой директории симлинк на наш файл hosts
    Код (Text):
    1. sudo ln -s /etc/apache2/sites-available/hosts
    последнее. нужно добавить наши новосозданные хосты в файл /etc/hosts
    первые две строчки этого файла должны быть похожи не эти:
    после айпишника и имени вашей тачки вставляем:
    перезагружаем апач:
    Перезагружаем apache:
    Код (Text):
    1. sudo /etc/init.d/apache2 restart
    радуемся!

    [реклама]Украинское Linux-сообщество LinuxForum.org.ua[/реклама]

    Если у вас будут какие-либо дополнения к этому материалу, прошу предлагать.
    //Прилепил, Горбунов.
     
  2. Anonymous

    Anonymous Guest

    от себя, от happy Ubuntu Gutsy Gibbon User ;) , хочу добавить - при добавлении виртуальных хостов Апач лучше перезагружать командой «мягкого» перезапуска
    Код (Text):
    1. sudo /etc/init.d/apache2 graceful
    Это не повлечет остановки существующих процессов Апача до их завершения.
     
  3. dvdianov

    dvdianov Активный пользователь

    С нами с:
    12 ноя 2007
    Сообщения:
    7
    Симпатии:
    0
    У меня стоит примерно так же, только как настроить взаимодействие апача и MySQL?
     
  4. Anonymous

    Anonymous Guest

    Апач и MySQL не зваимодействуют - это связка PHP + MySQL
    Должны стоять пакеты php5-mysql, mysql-client
    В случае сервера на этой машине, должен стоять соответсно пакет mysql-server
     
  5. KombaInER

    KombaInER Активный пользователь

    С нами с:
    5 апр 2007
    Сообщения:
    221
    Симпатии:
    0
    Адрес:
    Днепр+Крым=Украина
    я так понимаю, это связано с тем, что я как и в винде указал
     
  6. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    В /etc/apache2.conf
    ServerName dyada.vasya.com
     
  7. KombaInER

    KombaInER Активный пользователь

    С нами с:
    5 апр 2007
    Сообщения:
    221
    Симпатии:
    0
    Адрес:
    Днепр+Крым=Украина
    directoryindex index.html index.php
    походу из-за этого у мну при входу на локалхост выдается окно "сохранить или открыть" и дает файл, что-то типо p34qasdfa.phtml
    На другом виртуалхосте нормально работает, пхпшный индексный файл подгружается, отрабатывает ему нужное... Кто может может подскать чего по этому поводу...
     
  8. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Гы, частично коллега :D (у меня диск на 2 разбит, на одном винда на втором "Gutsy")

    Не знаю как сейчас а раньше можно было сделать просто
    Код (Text):
    1. sudo apt-get install phpmyadmin
    и он ставил всё что нужно (от GD и до прочих Zlib, само собой и apache и php) после чего достаточно было поставить
    Код (Text):
    1. sudo apt-get install mysql-server
     
  9. Anonymous

    Anonymous Guest

    Vladson, это ж побочный эффект )
     
  10. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Горбунов Олег
    Опытные люди ставят из сырцов, а для новичков "и так работает"
     
  11. Anonymous

    Anonymous Guest

    Под Дебиановскими дистрами несколько невыгодно ставить из сырцов, потому что тогда усложняется апдейт этого самого поставленного софта. Да, сорцы круто и кошерно.. но.... It depends, в общем. Я не монструозный админ собирающий каждый чих из исходников.
     
  12. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Каждый и я не собираю (иначе не ставил бы Ubuntu) но что касается сборки "критически важных фишек" (для меня это MySQL так как я ставлю Энжины которые по дефолту отключены, а иногда и вовсе бета-версии)
     
  13. Melefaro

    Melefaro Активный пользователь

    С нами с:
    12 дек 2007
    Сообщения:
    7
    Симпатии:
    0
    Большой спасибо за инструкцию.Всё работает!
    Только не получается настроить виртуальные хосты.
    Вот файл /etc/apache2/sites-available/hosts
    Код (Text):
    1.  
    2. NameVirtualHost *
    3. <virtualhost *>
    4. serveradmin ya@ya.ru
    5. servername  blabla.ru
    6.  
    7. # indexes + directory root.
    8. directoryindex index.html index.php
    9. documentroot /var/www/romayar.ru/htdocs/
    10.  
    11. # logfiles
    12. errorlog /var/www/romayar.ru/logs/error.log
    13. customlog /var/www/romayar.ru/logs/access.log combined
    14. </virtualhost>
    15. А вот /etc/hosts
    Код (Text):
    1.  
    2. 127.0.0.1   localhost
    3. 127.0.1.1   crazy
    4. 127.0.0.1   blabla.ru
    5.  
    6. # The following lines are desirable for IPv6 capable hosts
    7. ::1     ip6-localhost ip6-loopback
    8. fe00::0 ip6-localnet
    9. ff00::0 ip6-mcastprefix
    10. ff02::1 ip6-allnodes
    11. ff02::2 ip6-allrouters
    12. ff02::3 ip6-allhosts
    Если зайти на blabla.ru,то появляется типо обзор папки /var/www/
    Заранее благодарю,извеняюсь,если не туда запостил
     
  14. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Код (Text):
    1. /etc/init.d/apache2 restart
    Код (Text):
    1. tail /var/log/apache2/error.log
    ЗЫ: Мой тебе совет: не делай как написал Danilevsky, делай по-человечески :)
    Для того в /etc/apache2 и есть две папочки с суфиксами available и enabled. В первой храняться все виртуальные хосты (по одному в каждом файле), а во второй ссылки на них. Таким образом подключение/отключение сайта делается созданием/удалением ссылки (для этого в debian спец программки даже есть a2ensite и a2dissite).
     
  15. Melefaro

    Melefaro Активный пользователь

    С нами с:
    12 дек 2007
    Сообщения:
    7
    Симпатии:
    0
    2Vladson посиб,помог разобратся

    Усё получилось))
     
  16. Anonymous

    Anonymous Guest

    о, не знал, не знал... делал руками. Счас попробую!
     
  17. Melefaro

    Melefaro Активный пользователь

    С нами с:
    12 дек 2007
    Сообщения:
    7
    Симпатии:
    0
    GD не ставит))
    Внимание,вопрос:как его поставить?
     
  18. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Как найти название пакета:
    apt-cache search php5 | grep gd

    Как установить:
    apt-get install php5-gd
     
  19. lola158

    lola158 Активный пользователь

    С нами с:
    31 июл 2008
    Сообщения:
    7
    Симпатии:
    0
    Доброго времени суток.
    Не изменяются настройки php.ini: allow_call_time_pass_reference и display_errors и остальные в этом разделе - раскомментил, ставлю On, но phpinfo показывает что настройки не меняются
    Fedora Core 7, Apache/2.2.8, PHP/5.2.6
     
  20. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Апач перезапускаете?
     
  21. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    м, а в линуксе апач не сможет сам создавать файлы логов, например, при их отсутствии?
     
  22. lola158

    lola158 Активный пользователь

    С нами с:
    31 июл 2008
    Сообщения:
    7
    Симпатии:
    0
    перезапускаю, причем другие то настройки при этом меняются, а эти нет :(
     
  23. lola158

    lola158 Активный пользователь

    С нами с:
    31 июл 2008
    Сообщения:
    7
    Симпатии:
    0
    перезапускаю, причем другие то настройки при этом меняются, а эти нет :(
     
  24. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    пытался въехать в вопрос - не понял.

    lola158
    php.ini который правите? В системе их может быть несколько: отдельный для каждого веб-сервера и один для cli.
     
  25. lola158

    lola158 Активный пользователь

    С нами с:
    31 июл 2008
    Сообщения:
    7
    Симпатии:
    0
    /etc/php.ini который является симлинком на /usr/local/Zend/etc/php.ini
    а что за cli?