Как установить Apache2 и настроить для работы с Drupal.

Задача: Получить работающую CMS Drupal на локальном компьютере для отладки приложений.

1. Устанавливаем вэб сервер apache2 + PHP5 + MySQL + phpmyadmin

sudo aptitude install apache2 php5 mysql-client mysql-server phpmyadmin libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql

В сумме пакеты "весят" около 46 Мб.

И создаём ссылку на phpmyadmin

sudo ln -s /etc/phpmyadmin /var/www

2. Проверяем работоспособность установленных компонентов

По умолчанию файлы web приложений находятся в папке:

/var/www

А вэб сервер доступен по адресу:

http://localhost

Если сервер работает нормально то вы должны увидеть надпись:

It Works!

phpmyadmin доступен по адресу:

http://localhost/phpmyadmin

3. Создаем виртуальный хост

Создаем папку в которой у нас будут находится файлы сайта, на пример:

mkdir /home/%username%/web/mysite

и кладем в нее фалы drupal (Скачать можно с http://drupal.ru)

Затем открываем файл /etc/hosts

kdesudo kate /etc/hosts

и добавляем в него строчку

127.0.1.1 mysite

Конечно в место mysite можно написать все что угодно, mysite приведено в качестве примера. Это делается для того, чтобы наш сайт был доступен по по этому адресу. В данном случае по http://mysite

Так же, чтобы апач не выдавал ошибку

Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
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.localdomain localhost my-desktop
127.0.1.1 my-desktop
127.0.1.1 mysite

Где my-desktop - имя вашего компьютера.

Теперь настраиваем виртуальный хост в apache

Фалы конфигурации apache2

/etc/apache2/ - Основная папка
|
|___ /mods-available - доступные модули apache
|
|___ /mods-enabled - подключенные модули apache
|
|___ /sites-available - доступные сайты
|
|___ /sites-enabled - подключенные сайты
|
|____apache2.conf - основной файл конфигурации apache2

В папке sites-available находятся файлы конфигурация виртуальных хостов.

А в папке sites-enabled находятся линки на файлы конфигураций из sites-available.

Это позволяет легко и быстро включать и выключать сайты, путем добавления или удаления линков из sites-enabled.

Тоже самое касается и модулей.

Создаем файл конфигурации хоста mysite

kdesudo kate /etc/apache2/sites-available/mysite

в который добавляем

<VirtualHost *:80>
  ServerAlias mysite www.mysite
  DocumentRoot /home/usernsme/web/mysite
  <Directory home/username/web/mysite/>
    AllowOverride All
  </Directory>
</VirtualHost>

Документация по виртуальным хостам Apache

Затем включаем наш виртуальный хост.

В apache2 для этого существуют специальные команды:

a2ensite, a2dissite, a2enmod, a2dismod. Всё что они делают - проставляют и удаляют ссылки в соответствующих каталогах.

sudo a2ensite mysite

И включаем модуль rewrite для работы "чистых ссылок"

sudo a2enmod rewrite

Создаем базу mysql. Лично я использую для работы с MySQL phpmyadmin.

http://localhost/phpmyadmin

Перезапускаем apache

sudo /etc/init.d/apache2 restart

и вводим в браузере http://mysite

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

chmod -R 777 /home/username/web/mysite/

Так же не забудьте создать папку files (нужна для работы Drupal)

mkdir /home/username/web/mysite/files

и дать ей права на запись

chmod 777 /home/username/web/mysite/files

Если у вас не будут работать "чистые ссылки" удостоверьтесь что в директории с друпалом есть файл .htaccess У меня он почему то упорно не хотел разархивироваться.

Комментарии (68)

0
dreamwork (не зарегистрирован) - 19 Ноябрь, 2007 - 20:18

а у меня не выполняеться sudo mysqladmin -u root password 1234 пишет mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

0
dm - 20 Ноябрь, 2007 - 12:36
Изображение пользователя dm.

А при установке не просил пароль указать на mysql ?

0
SeaJey - 23 Октябрь, 2008 - 20:31
Изображение пользователя SeaJey.

Та же хрень, при попытки перетащить amaroK на базу mysql

Подозреваю из-за того, что мускуль поставился вместе с akonady

+1
dyug - 9 Март, 2011 - 10:54

А как ему выполняться то?

оставил только важные параметры:
-----------
Usage: mysqladmin [OPTIONS] command command....
-#, --debug[=name] Output debug log. Often this is 'd:t:o,filename'.
-C, --compress Use compression in server/client protocol.
-?, --help Display this help and exit.
-h, --host=name Connect to host.
-p, --password[=name]
Password to use when connecting to server. If password is
not given it's asked from the tty. WARNING: Providing a
password on command line is insecure as it is visible
through /proc to anyone for a short time.
-u, --user=name User for login if not current user.
-v, --verbose Write more information.
-----------

Если посмотреть ВНИМАТЕЛЬНО, то можно сделать вывод, что команда "sudo mysqladmin -u root password 1234" выглядит как зайти рутом на мускуль без пароля и выполнить команды "password" и "1234"

Что подверждает ответ мускульадмина "error: 'Access denied for user 'root'@'localhost' (using password: NO)'"
Правильно команда выглядит так
sudo mysqladmin -u root --password 1234
То бишь пропущено 2 тире перед словом password.

0
DarkneSS - 9 Март, 2011 - 11:06
Изображение пользователя DarkneSS.

Добрая душа)) столько лет ждал...

0
dyug - 9 Март, 2011 - 12:20

А я только прочитал... :-)
Шо, низзя? :-)

0
DarkneSS - 9 Март, 2011 - 12:29
Изображение пользователя DarkneSS.

Можно =)

0
Roman - 26 Февраль, 2008 - 22:30

Сделал всё как написано на форуме Вот какая ошибка выскакивает когда пытаюсь перезагрузить апач
stranger@stranger:~$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]
stranger@stranger:~$
Что можно сделать?
Ещё когда пытаюсь зайти на пхпадмина браузер вместо того чтобы его открыть предлагает сохранить файл phtml

0
dm - 27 Февраль, 2008 - 10:15
Изображение пользователя dm.

Сделал всё как написано на форуме Вот какая ошибка выскакивает когда пытаюсь перезагрузить апач
stranger@stranger:~$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

Открывай файл /etc/hosts

kdesu kate /etc/hosts

и добавь в первую строчку имя своего компьютера. как пример:

127.0.0.1 localhost.localdomain localhost dm-desktop
127.0.1.1 dm-desktop
127.0.1.1 mysite

0
rlepish - 15 Июнь, 2009 - 23:19

Установил xampp server, заработало и http://mysite/ , http://localhost/, http://localhost/xampp/index.php и http://localhost/phpmyadmin/.

Но до первой перезагрузки компа!!! далее в ответ получаю
Error!
Could not connect to remote server

You tried to access the address http://localhost/xampp/index.php, which is currently unavailable. Please make sure that the Web address (URL) is correctly spelt and punctuated, then try reloading the page.
Make sure your Internet connection is active and check whether other applications that rely on the same connection are working.
Что-то типа, браузер не может установить соединение с сервером, хотя тот существует

Апач не рестартует
roman@roman-desktop:~$ sudo /etc/init.d/apache2 restart
[sudo] password for roman:
* Restarting web server apache2 apache2: Syntax error on line 278 of /etc/apache2/apache2.conf: Could not open configuration
file /etc/apache2/conf.d/phpmyadmin.conf: No such file or directory
[fail]

/etc/hosts
127.0.0.1 localhost.localdomain localhost roman-desktop
127.0.1.1 roman-desktop
127.0.1.1 mysite
# 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

Что поправить

0
Гость - 5 Февраль, 2010 - 01:51

А разве не помогает просто в конец файла '/etc/apache2/apache2.conf' дописать 'ServerName 127.0.0.1' ?

0
Гость - 27 Март, 2008 - 15:42

А где пароль для пхп-админки?

0
dm - 27 Март, 2008 - 15:52
Изображение пользователя dm.

Пароль к phpmyadmin такой же как имя пользователя и пароль к твоей базе данных mysql

0
spinoza - 19 Октябрь, 2008 - 23:17

Как удалось решить проблему с файлом .htaccess? у меня никак не распаковывается...
Я даже попробовал распаковать в винде, там он есть!!! Перенес на флешку все есть, в Kubuntu его нет, не видно его. Что делать?

0
Soi-Fong - 20 Октябрь, 2008 - 19:30
Изображение пользователя Soi-Fong.

включи показ скрытых файлов, файлы начинающиеся с точки у умолчанию не видны
обычно это Ктрл+. или Альт+. , где как

0
Гость - 21 Декабрь, 2009 - 10:12

ctrl + H тоже работает

0
Гость - 5 Ноябрь, 2008 - 22:04

Большое спасибо!
Я ставил на gOS, тот что на Ubuntu 8.04, все получилось, только вместо
sudo ln -s /etc/phpmyadmin /var/www
пришлось написать
sudo ln -s /usr/share/phpmyadmin /var/www

0
Adaon - 9 Ноябрь, 2008 - 22:51

Сервер по-умолчанию выводит файл index.html. Подскажите, это фишка браузеров, что они в запросе GET автоматически вставляют это имя, если в строке не указано что-то иное, или это уже зависит от настроек сервера? Если да, то где это настраивается?

0
Гость - 16 Январь, 2009 - 02:59

В /etc/apache2/apache2.conf , к примеру:
DirectoryIndex index.html index.php main.html main.php index.htm
Так же можно и в .хтаксес

0
Michael72 - 3 Февраль, 2013 - 02:35
Изображение пользователя Michael72.

А как заставить веб-сервер Apache читать директивы настройки из конфигурационного файла .htaccess?

0
MiraMaX166 - 3 Февраль, 2013 - 17:22
Изображение пользователя MiraMaX166.

Должен быть включен модуль rewrite, а в директиве каталога нужно указать AllowOverride All ;-)

+1
Гость - 19 Ноябрь, 2008 - 13:57

У меня сразу модуль пхп не был подключен к апач, потом когда пытался запустить пхп-скрипт из папки /var/www/скрипт.php вписывая в адресную строку браузера localhost/скрип.php браузер предлагал сохранить файл. Для этого надо подключить php к Apache.
В консоли:
xxx@xxx:~$ sudo a2enmod php5

P.S. Может поможет кому.

0
CHIPOLINO - 6 Декабрь, 2008 - 04:59
Изображение пользователя CHIPOLINO.

Вся установка происходит намного проще, чем тут описанно!

1) Запускаем Synaptic (если его у Вас нет - поставьте). Далее, уже в Synaptic`е, Правка -> Отметить пакеты для задачи -> Ставим галочку LAMP. Жмем OK. Применить. Все, Apache, PHP и MySQL установленны!

2) phpMyAdmin так же ставиться из репозитария.

3) Ставим Drupal из репозитария но не запускаем. Качаем новую версию с Drupal.ru и заменяем файлы установленного на распакованные из скачанного.

4) Запускаем http://localhost/instal.php Далее по указаниям инсталятора.

На этом все.

Собственно вот - http://chip.tomilino.net/

0
Furious_Angel - 29 Январь, 2009 - 18:12

при установке возник следущий эрор
ERROR: Module cgid does not exist!
ERROR: Module cgi does not exist!
It looks like you've deleted /etc/apache2/mods-available/cgi.load, so cgi can not be enabled. To fix this, please purge and reinstall apache2.2-common.
.: 44: Can't open /etc/apache2/envvars
invoke-rc.d: initscript apache2, action "start" failed.

как быть и что с этим делать?

0
CHIPOLINO - 29 Январь, 2009 - 19:47
Изображение пользователя CHIPOLINO.

Вам же написали ...
To fix this, please purge and reinstall apache2.2-common.
---------ПЕРЕВОД---------
Чтобы установить это, пожалуйста произведите чистку и повторно установите apache2.2-common.

0
Furious_Angel - 29 Январь, 2009 - 23:06

й..проглядел.Спасибо:)
Но возник еще один вопрос, сайт не виден по сети, покопался в конфигах, но так ничего путного не нашел=((

0
CHIPOLINO - 5 Февраль, 2009 - 15:15
Изображение пользователя CHIPOLINO.

sudo ufw enable
sudo ufw allow 80/tcp

http://you_local_ip/

0
Patrik - 17 Февраль, 2009 - 16:30

Устновил по инструкции, никаких ошибок не возникало. при но при открытии http://localhost/phpmyadmin/ показывается только список файлов. а не сам phpmyadmin, в чеи проблема, помогите плз.
Это проблема как я понял не только у меня.

0
picaro - 17 Февраль, 2009 - 16:41
Изображение пользователя picaro.

$ aptitude search myadmin

0
Patrik - 17 Февраль, 2009 - 19:02

получилось и что с ним делать?)
patrik@ubuntu:~$ aptitude search myadmin
i phpmyadmin - MySQL web administration tool

0
picaro - 18 Февраль, 2009 - 11:26
Изображение пользователя picaro.

Раз phpmyadmin есть, то его надо найти и привязать. В списке файлов нет папки phpmyadmin? Я, помниться запускал http://localhost/, а там была папка phpmyadmin, переходя в которую я получал phpmyadmin.

0
Patrik - 18 Февраль, 2009 - 18:40

Нашел решение проблемы !!!
"Упорно не хотел запускаться phpmyadmin
поискал по гуглю, оказалось у многих такая проблема..уж не знаю ч чем это связано, но факт остается и вот решение проблемы:
заходим в каталог /etc/apache2/
если файл apache2.conf существует, а conf.d/phpmyadmin.conf нет, то выполняем слудующее:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
и перезапускаем апач, все работает!"

0
zhazhah - 26 Июнь, 2009 - 14:49

Здравствуйте. Меняю переменную ft_min_word_len = 4 на ft_min_word_len = 3 в /etc/mysql/my.cnf
перезагружаю сервер изменения не вступают в силу и кодировку сменить надо не чего не работает как будто
mysql работает с другим my.cnf. Может кто сталкивался подскажите пожалуйста, а то я уже второй день мучаюсь без результатно

+1
Гость - 13 Август, 2009 - 23:46

Кажись, вместо 127.0.1.1 mysite нужно 127.0.0.1 mysite. Во всяком случае, мой виртуальный хост заработал только после такой поправки :)

0
Гость - 21 Август, 2009 - 19:54

Что-то чистые ссылки не работают.

0
Kahanbunda - 23 Август, 2009 - 08:58
Изображение пользователя Kahanbunda.

Здравствуйте))Возникли ошибки при установке((
До этого стоял xampp
вот лог
жми

0
Гость - 17 Сентябрь, 2009 - 15:38

Привет! у меня не кубунту а убунту, но я надеюсь что в этом вопросе разница роли не сыграет.
файл hosts не редактируется, говорит что у меня нет прав.
как быть?

0
dm - 17 Сентябрь, 2009 - 17:45
Изображение пользователя dm.

sudo nano /etc/hosts

+1
DestinationEnd - 13 Октябрь, 2009 - 23:16

А я потерял пароль к Mysql, как бы его узнать, или переустановить Mysql?

0
Жюстина - 14 Октябрь, 2009 - 07:34
Изображение пользователя Жюстина.

Пароли в mysql узнать нельзя, можно заменить. Не сложно

0
Respekt - 19 Октябрь, 2009 - 22:13
Изображение пользователя Respekt.

Все вроде работает, спасибо ;) Вот только zend optimizer хотелось бы еще прикрутить...

0
ulitkus - 14 Ноябрь, 2009 - 19:39
Изображение пользователя ulitkus.

Уже есть mysql-server-5.1

0
balamutick - 4 Декабрь, 2009 - 16:29
Изображение пользователя balamutick.

Создаем базу mysql. Лично я использую для работы с MySQL phpmyadmin.
Мы её создаём по "щучьему велению, по моему хотению" ? Или всё таки каким-то реальным существующим способом ?

Я пошёл пока просить разбанить меня в гугляндексе, если из незабаненных у кого доступ есть, то киньте ссылкочку как собстсенно создавать базу MySql.

З.Ы. честно пионерское, когда-то сам делал, но уже ничего не помню.

+1
ulitkus - 4 Декабрь, 2009 - 21:36
Изображение пользователя ulitkus.

mysql -u root -p
mysql> create database mysuperbase;

а через phpmyadmin не помню. Вот тут можно побаловаться.

0
spinoza - 8 Февраль, 2010 - 21:19

Еще раз огромное спасибо автору, постоянно пользуюсь данным материалом как шпаргалкой.
Хотелось бы добавить пару слов про phpmyadmin:
это мощнейший инструмент управления базами данных
сам я недавно начал пользоваться им непосредственно, до этого я пользовался webmin, который позволяет производить только элементарные действия....
phpmyadmin после ссылки

sudo ln -s /etc/phpmyadmin /var/www

не работает

исполняем команд

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d

sudo apache2ctl restart

и получаем рабочую ссылку

http://localhost/phpmyadmin

Всем удачи.

0
Гость - 22 Апрель, 2010 - 21:52

Установил, забросил файльі ЦМС в папку ./mysite, но при открьітии локалхоста или ..//mysite/ через браузер пишет только It works!

0
GoodSeeker - 8 Март, 2011 - 04:27

при установке - я нокосячил.
Не могу войти в пхпмайадмин (при инсталяции не указывал пароль)
И не понял запустить mysite с созданием различных доменов.

Можно как то удалить phpmyadmin, apache и все что установилось? чтоб начать сначала?

0
ulitkus - 8 Март, 2011 - 14:37
Изображение пользователя ulitkus.

Прочитай тему внимательнее. Насчет удаления: почитай, как устанавливать и удалять приложения в кубунту/убунту и вообще про то как организован репозиторий, про apt. А если ты что то неправильно сделал, всегда можно поправить конфигурационные файлы, true linux way, что уж там. И освой команду man.

0
GoodSeeker - 8 Март, 2011 - 15:31

Это понятно, что всегда можно исправить.
Спасибо за нужное направление.
Подскажите еще, пожалуйста, как восстановить/сбросить пароль на phpmyadmin ?
Пробовал:
a. http://d51x.ru/page/mysql-sbros-parolja

b, "1. В консоли
Код:
sudo gedit /etc/phpmyadmin/config.inc.php

2. Добавляешь в этот файл строчку
Код:
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = TRUE;

3. PROFIT!"

c. http://www.opennet.ru/tips/info/1549.shtml

- не могу войти в phpmyadmin :(

0
picaro - 9 Март, 2011 - 00:56
Изображение пользователя picaro.

Ну я на вас поражаюсь, что такое phpmyOdmin? Это всего лишь фронтенд к mysql. Соответственно, поменяв пароль руту mysql сменится пароль и одмине! Как поменять пароль руту субд ищем в гугле.