Jump to content
  • 0

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


Great Rash
 Share

Question

Всем привет.

По ряду причин мне понадобилось установить линукс. Т.к. я до этого момента с линуксами не работал серьезно (работал только на уровне текстового редактора офисных документов), то выбор мой пал на Ubuntu, т.к. она мне как виндузятнику показалась наиболее привычной (плюс на макось очень похожа, а с ней у меня опыт работы имеется).

Я не умею вручную устанавливать связку PHP, Apache, MySQL даже на винде, поэтому всегда юзал Денвер. Но на линуксе ничего подобного нету. Сперва нашел, что-то про XAMPP потом вычитал, что ставить его на линукс - извращение, потому что он под винду проектировался опять же. Я его все равно попробовал поставить - сервер заработал, а заставить работать phpmyadmin я так и не смог.

В общем нашел я туториал по настройке аналога Денвера на Ubuntu. Но у меня опять же не хочет работать phpmyadmin. Ругается на отсутствие MySQL.

Если кто есть тут из опытных линуксоидов подскажите как настроить все это дело. Прям для тугодумов по шагам. Сразу скажу, что из команд терминала я пока знаю только две: ls и sudo. Так что тут тоже неплохо бы объяснять что к чему.

P.S. Не знаю, на каком шаге туториала я что-то сделал не так, но вот эти сайты:

127.0.0.1 elv.su
127.0.0.1 second.my

у меня не заработали - 404.

Link to comment
Share on other sites

18 answers to this question

Recommended Posts

  • 0
Если кто есть тут из опытных линуксоидов подскажите как настроить все это дело. Прям для тугодумов по шагам. Сразу скажу, что из команд терминала я пока знаю только две: ls и sudo. Так что тут тоже неплохо бы объяснять что к чему.

Интересно. Надо будет накатить на виртуалку голую бубунту, накатить с нуля apache/php + mysql и соорудить из этого пошаговое описание. Если, конечно, меня никто не опередит :)

P.S. Не знаю, на каком шаге туториала я что-то сделал не так, но вот эти сайты:

127.0.0.1 elv.su
127.0.0.1 second.my

у меня не заработали - 404.

Ну так 404 - это рабочий сервер. Возможно, с пустым DocumentRoot. Виртуальные хосты настраивались? Как?

PS: А что показывает эта команда (если, конечно, используется дефолтный вхост)?

grep 404 /var/log/apache2/access.log

Link to comment
Share on other sites

  • 0

Это все дома у меня. Я в течении дня попробую выкроить время и поставить на виртуалку убунту. Пройду туториал еще раз и отпишусь о проблемах. Сейчас я не готов ответить на вопрос :)

Link to comment
Share on other sites

  • 0

sudo apt-get install Synaptic

Synaptic - менеджер пакетов.

Все остальное спокойно ставишь из нее без замарок с командной строкой.

А вообще все просто:

sudo apt-get install lamp-server^ phpmyadmin

Конфиги установленных программ находятся в директории /etc и её поддиректориях.

Директория с вирт-хостами в убунту обычно /var/www

Если не привыкли управлять всем добром через консоль можете поставить webmin это веб-панель управления сервером.

Edited by wwt
  • Like 1
Link to comment
Share on other sites

  • 0

sudo apt-get install lamp-server^ phpmyadmin

О, крутяк. На виртуалке все встало без проблем. Единственное я пароль пустым оставил и пришлось править конфиг для phpmyadmin. Но sudo gedit я уже делать умею :)

А дома у меня уже наставлено всякого барахла. Можно проводить инсталляцию поверх или надо сперва сделать sudo apt-get remove?

Ща попробую, что за зверь такой webmin.

Link to comment
Share on other sites

  • 0
А дома у меня уже наставлено всякого барахла. Можно проводить инсталляцию поверх или надо сперва сделать sudo apt-get remove?

Только если это барахло тебе не нужно. "Поверх" ничего не установится, т.к. нет смысла устанавливать пакеты, которые уже есть в системе. Они либо обновятся, либо останутся, как есть, только доустанавливаются недостающие.

Link to comment
Share on other sites

  • 0

Webmin вроде установил. Только как им пользоваться непонятно. В смысле куда он встал-то? В главном меню ярлыка не появилось, откуда его запускать?

Только если это барахло тебе не нужно. "Поверх" ничего не установится, т.к. нет смысла устанавливать пакеты, которые уже есть в системе. Они либо обновятся, либо останутся, как есть, только доустанавливаются недостающие.

А как посмотреть из терминала что у меня уже установлено? Я просто не помню, что удалял, а что нет. Удалатся ли при удалении скажем Апача, его конфигурационные файлы?

Link to comment
Share on other sites

  • 0
А как посмотреть из терминала что у меня уже установлено? Я просто не помню, что удалял, а что нет.

dpkg -l

Удалатся ли при удалении скажем Апача, его конфигурационные файлы?

По "remove" - не должны. Конфиги удаляются по apt-get purge PKG

  • Like 1
Link to comment
Share on other sites

  • 0

Webmin вроде установил. Только как им пользоваться непонятно. В смысле куда он встал-то? В главном меню ярлыка не появилось, откуда его запускать?

Только если это барахло тебе не нужно. "Поверх" ничего не установится, т.к. нет смысла устанавливать пакеты, которые уже есть в системе. Они либо обновятся, либо останутся, как есть, только доустанавливаются недостающие.

А как посмотреть из терминала что у меня уже установлено? Я просто не помню, что удалял, а что нет. Удалатся ли при удалении скажем Апача, его конфигурационные файлы?

webmin вроде ставится на localhost:10000 по умолчанию. Там и смотреть его.

+ попробуйте http://forum.ubuntu.ru смотреть, там большинство вопросов у вас отпадет)

Edited by npofopr
  • Like 1
Link to comment
Share on other sites

  • 0
Как можно поменять директорию для сайтов с /var/www на что-то в домашней папке? Чтобы не заморачиваться с правами доступа?

Директива "DocumentRoot" в конфиге конкретного виртуалхоста. А с правами заморачиваться в любом случае, потому что апач запускается от одного пользователя, а работаешь ты под другим :) Т.е. в лучшем случае у апача будет доступ на чтение к каталогу в твоем хомяке (если не сделаешь ничего с правами). На тестовых виртуалках я делаю просто:

chown -R www-data:my_user /.../www
chmod -R g+rw /...www/

(изменить владельца на юзверя, под которым гуляет апач, а группу назначить пользовательскую и дать ей права на запись)

А вообще можно заморочиться с разными модулями а-ля suexec и так далее :)

Link to comment
Share on other sites

  • 0

В общем нашел я нормальный мануал по установке LAMP на Ubuntu (спасибо большое npofopr).

За некоторым исключением. Пишем в терминале не sudo tasksel install lamp-server, а sudo apt-get install lamp-server^ phpmyadmin. Тогда все шаги по установке phpmyadmin можно смело пропускать. Спасибо большое wwt!

Еще один момент (для меня как для новичка совсем неочевидный): при установке phpmyadmin надо выбрать опцию apache2 когда попросит, причем выбирать надо пробелом (я сперва Enter нажал).

Непонятно как заходить не на http://localhost, а, скажем, на http://test.loc

Link to comment
Share on other sites

  • 0

Непонятно как заходить не на http://localhost, а, скажем, на http://test.loc

мм как вариант можно добавить в файл /etc/hosts строчку:


127.0.0.2 test.loc

И будет у тя висеть этот тестовый домен на втором айпишнике,а вместо localhost я бы не советовал менять к нему могут быть привязаны многие важные штуки в никсах ).

Ишо мона добавить алиас для локалхоста добавить через пробел


127.0.0.1 localhost test.loc

А к webmin обращение происходит как сказали выше, через браузер https://localhost:10000 по умолчанию пользователи юзаются системные.

Edited by wwt
Link to comment
Share on other sites

  • 0

Не, это все равно не то. Файл hosts я переписать догадался, но по сути это получается тот же localhost, только вид сбоку. А мне хотелось бы как в Денвере - отдельно папка localhost, отдельно test. И вообще реально ли сделать домен третьего уровня, типа: http://my.test.loc? Или хотя бы для локалхоста: http://my.localhost?

Link to comment
Share on other sites

  • 0

Не, это все равно не то. Файл hosts я переписать догадался, но по сути это получается тот же localhost, только вид сбоку. А мне хотелось бы как в Денвере - отдельно папка localhost, отдельно test. И вообще реально ли сделать домен третьего уровня, типа: http://my.test.loc? Или хотя бы для локалхоста: http://my.localhost?

Ну так создай поддомен в настройках apache )

Что-то типо:


<VirtualHost 127.0.0.2:80>
DocumentRoot "/var/www/my.test.loc"
ServerName my.test.loc
ServerPath /var/www/my.test.loc
<Directory "/var/www/my.test.loc">
Options +Indexes
</Directory>
</VirtualHost>

В файл hosts ты вписываешь домен не для того чтобы с ним работал apache, а для того чтобы сервер вообще знал что данный домен указывает на определенный адрес (в данном случае на локальный) )) Ну и естественно это будет работать только при локальном обращении к домену.

  • Like 1
Link to comment
Share on other sites

  • 0
И будет у тя висеть этот тестовый домен на втором айпишнике,а вместо localhost я бы не советовал менять к нему могут быть привязаны многие важные штуки в никсах ).

Не надо курить этот чай :) На айпишниках ничего не висит, висит на интерфейсах. 127.0.0.1 и 127.0.0.2 - один и тот же интерфейс (loopback). А локалхост используется где угодно, не только в никсах.

Не, это все равно не то. Файл hosts я переписать догадался, но по сути это получается тот же localhost, только вид сбоку. А мне хотелось бы как в Денвере - отдельно папка localhost, отдельно test. И вообще реально ли сделать домен третьего уровня, типа: http://my.test.loc? Или хотя бы для локалхоста: http://my.localhost?

Все реально. Хоть третьего, хоть четвертого, хоть двадцать четвертого :)

  1. Так как DNS у тебя нет, придется все равно вписывать все в хосты
  2. Настроить NameVirtualHost (по идее, уже должно быть настроено в /etc/apache2/ports.conf: NameVirtualHost *:80)
  3. Настроить несколько VirtualHost, например:
    <VirtualHost *:80>
    ServerName my.test.server
    DocumentRoot /var/www/my.test.server/htdocs/public_html

    ........
    </VirtualHost>


При обращении к my.test.server апач будет отдавать соответствующий DocumentRoot. Совсем не обязательно, чтобы в пути DocumentRoot присутствовал домен, указанный в ServerName, это просто для удобства (вообще-то, это влияет на конфигурацию, но при другом раскладе - использовании VirtualDocumentRoot, т.е. не наш случай).

PS: рекомендую забекапить все конфиги апача, потому что после этих действий пойдет по печальке доступ по IP адресу (т.е. он будет, но не факт, что такой каким его ожидаешь видеть). Подробнее тут: http://httpd.apache.org/docs/2.2/vhosts/examples.html

И сюда же вопрос:

Options +Indexes

Зачем?

  • Like 1
Link to comment
Share on other sites

  • 0
Не надо курить этот чай :) На айпишниках ничего не висит, висит на интерфейсах. 127.0.0.1 и 127.0.0.2 - один и тот же интерфейс (loopback). А локалхост используется где угодно, не только в никсах.

пытался объяснить простыми словами, а не давать ссылки на доки - этого добра в инете валом.

И сюда же вопрос:

Options +Indexes

Зачем?

Тупо скопипастил часть конфига и поменял имя домена. Ведь важно не то что там написано, а то что создать вирт-хост вообще нужно было.

Edited by wwt
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy