Тема: Очень трудный вопрос

У меня такой вопрос. Может ли кто нибудь написать такую же подробную инструкцию по настройке сервера как здесь http://php-myadmin.ru/learning/instrument-apache.html Только под linux. Уже долго ищу, кроме постов "Поищи в гугле там полно" (а я где ищу!) не нахожу, либо нахожу но какието кривые, делаешь все по инструкции и ничиго не работает.

2

Re: Очень трудный вопрос

solistcomru
В Linux все достаточно просто, но зависит конкретно от дистрибутива. Обычно устанавливаете PHP, Apache, MySQL и phpMyAdmin прямо из установщика операционной системы. Настраивать надо только виртуальные хосты и какие-то специфические директивы конфигурации; если ничего не трогать, то все-равно будет работать и без настройки.

Если у вас какие-то трудности в установке, то опишите их и попробуем разобраться.

3

Re: Очень трудный вопрос

solistcomru
Вот здесь написано http://www.opennet.ru/base/net/lamp_slackware.txt.html и там на сайте посмотрите может Вам поможет там много грамотных стетей под Nix (сы), Linux немного есть различие, но обычно ставиться все из пакеджей без проблем, Вам останется только поправить конфиг файлы, если Вы ставите под FreeBSD то тогда ещё проще используте коллекции портов, если возникнут трудности пишите вашу версию и релиз какой Linux постараемся Вам помоч.

4

Re: Очень трудный вопрос

Не, я не такой гений чтоб юзать unix системы вроде free bsd. У меня обычный ubuntu-decstop. И еще я хочу чтоб виртуальные хосты были расположены в домашнем каталоге. То есть папка home. Рабочий стол мне необходим. Тут ведь должно быть непмного проще чем по ссылке выше?

5 (изменено: solistcomru, 2012-03-29 13:31:18)

Re: Очень трудный вопрос

С горем попалам я все же его установил. Опишу здесь процесс. Можете его вынести кудато, думаю будет полезно людям. Да и мне если вдруг придется переустанвливать сервер. В общем.
Установка веб сервера в ubuntu (apache+mysql+php+phpmyadmin)

Устанавливаем MySQL
Открываем терминал и пишем:
1. sudo apt-get install mysql-server
2. После установки должен открыться диалог создания root-пароля для MySQL, если этого не произошло, то пишем:
sudo mysqladmin -u root password XXXX
где XXXX — ваш пароль
3. Теперь установим GUI для управления БД MySQL:
sudo apt-get install mysql-admin
MySQL установлен.

Устанавливаем Apache2 и PHP5
Пишем:
1. sudo apt-get install apache2
2. Теперь приконнектим к новоиспеченному апачу php5, вместе с библиотеками для работы с MySQL
sudo apt-get install php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql
3. После установки — перезапускам апач:
sudo /etc/init.d/apache2 restart
Проверяем работоспособность нашего веб-сервера — заходим в браузер и пишем:
localhost
Должна появиться надпись: «It works!».
Директории по умолчанию:
/var/www/ — скрипты и файлы пользователей;
/etc/php5/ и /etc/apache2/ — конфигурационные файлы php5 и apache2;

Настраиваем Virtual Hosts для Apache2
1. Вводим в терминале:
sudo /etc/init.d/apache2 stop
2. sudo gedit /etc/apache2/sites-available/default
3. Виртуальные хосты стоящие там по умолчанию нехобходимо закоментить # либо удалить.
Делаем свой:
<VirtualHost site.loc>                         // Прописываем свой адрес
ServerAdmin webmaster@localhost
DocumentRoot /home/user/www     // Cоздаем соответствующую папку в домашней директории "www" в которой и будет лежать наш сайт
ServerName site.loc                         //Прописываем свой адрес
ErrorLog /var/log/apache2/error.log
TransferLog /var/log/apache2/access.log
</VirtualHost>

Далее необходимо добавить свой сайт в файл хостов. Для чего пишем в консоле:
sudo gedit /etc/hosts
Добавляем строчку
127.0.0.1 site.loc
Внимание: 127.0.0.1 оставляем в любом случае, даже если вы подключаете свой домен. Не нужно здесь писать ip вашей машины
cохраняем и закрываем

Устанавливаем phpmyadmin
Пишем в консоле:
sudo apt-get install phpmyadmin
Если у вас в репозитории свежий пакет phpmyadmin, то в процессе установки он спросит пароль для доступа к бд mysql (там он создает свои таблицы с настройками) и логин и пасс для своего постоянного использования.
Также Программа установки может спросить у нас какой вебсервер стоит Apache или Lighttpd, выбераем Apache, после чего предложит провести автоматическую настройку. Выбераем нет, поскольку у нас уже установлен Mysql.

Открываем конфигурационный файла апача
sudo gedit /etc/apache2/apache2.conf
и добавляем в конец файла следующую строку
Include /etc/phpmyadmin/apache.conf
сохраняем файл.

Перезапускаем апач:
sudo /etc/init.d/apache2 restart
проверяем:
http://localhost/phpmyadmin

Далее, на все файлы сайта, необходимо установить права доступа 777
для чего пишем:
sudo chmod -R 777 /home/user/www
Где пораметр -R означает рекурсивно поставить права на все папки файлы и подпапки в этом каталоге
Внимание: Права доступа придется применять каждый раз когда вы создадите новый файл или скачаете картинку с интернета. Так что хорошо запомните эту команду.

Вот вроде все. Если что подправте меня. Инфу насоберал с сайтов трех наверное, и выкинул нерабочие варианты.

6

Re: Очень трудный вопрос

solistcomru
Спасибо за подробное описание, перенес его в раздел установки phpMyAdmin.

Не понял зачем вы устанавливали chmod 777 для всех файлов сайта, поэтому данный абзац не скопировал.

7 (изменено: solistcomru, 2010-08-17 16:00:10)

Re: Очень трудный вопрос

У меня без этого веб сервер не может получить доступ к другим файлам сайта. Например если в файле index.php есть внутреняя (image/img.jpg) ссылка на картинку, то он ее не грузит. То же самое, если  стили, вынесены в отдельный css файл  sad

8

Re: Очень трудный вопрос

solistcomru
Думаю вам надо разобраться с правами сервера. Обычно сервер работает в группе apache, пользователь apache.

9

Re: Очень трудный вопрос

Нашел еще один недостаток. Если посчитаете нужным, то дабавьте:

Для включения поддержки глобальных переменных, открываем файл настроек php.ini
sudo gedit /etc/php5/apache2/php.ini

Находим строчку
register_globals = Off
и заменяем на
register_globals = On

10

Re: Очень трудный вопрос

solistcomru
Спасибо, но думаю лучше их не включать. smile

11

Re: Очень трудный вопрос

solistcomru

solistcomru сказал:

Нашел еще один недостаток

Нет не стоит их включать это потенциальная дыра в безопасности, используйте массивы переменных $_GET $_POST