Статья написана на основании материалов взятых с сайтов:
Первая часть: LAMPP - запуск от обычного пользователя.
Вторая часть: Настройка XAMPP и виртуальных хостов
Третья часть: Установка и настройка XAMPP в Linux
я только объединил их в одну, по моему мнению они друг друга дополняют.
Первая часть
Сейчас существует множество сборок apache+php+mysql для упрощения работы веб-разработчиков, которые позволяют легко и быстро настроить у себя на компьютере все, что нужно для веб-программирования.
В рунете наиболее популярным пакетом является Денвер, третье поколение которого не так давно стало доступно публике. Однако, самый популярный - не значит "единственный". Из всех существующих, наибольшую конкуренцию Денверу может составить пакет XAMPP от проекта ApacheFriends. Впрочем, за рубежом он уже давно завоевал большое сообщество пользователей и единственное, что мешает ему потеснить Денвер - отсутствие русской локализации, которое отпугивает многих новичков.
Сегодня мы поговорим о версии XAMPP для Linux, известного так же как LAMPP.
Те, кто пользовались им, знают, что для запуска сервера необходимы права root, но вводить всякий раз пароль - дело не веселое. Поэтому я сегодня расскажу о способе, позволяющему избавить себя от этой нудной необходимости.
Немного теории.
В большинстве файловых систем, используемых ОС семейства *NIX (и Linux в том числе), Есть такое свойство файла - SUID-бит, установка которого в 1 обеспечивает запуск исполняемого файла с правами владельца.
Чтобы установить такой бит для файла file_name, нужно от имени root выполнить команду
chmod u+s file_name
Перейдем к практике.
Для того, чтобы управляющий скрипт (/opt/lampp/lampp) согласился работать и от имени простого пользователя, необходимо перед кждой из этих строк добавить символ решетки:
Теперь приступим к самому главному.
Первым делом, научим запускаться от простого пользователя apache :)
Для этого выполним от имени root следующие действия:
chmod -R 0775 /opt/lampp/logs
chown -R root:users /opt/lampp/logs # вместо users здась нужно подставить имя группы, в которую входит ваш пользователь. Для openSUSE это и будет users, для Mandriva, как правило, такое же как имя пользвателя.
Отлично, теперь от имени простого пользователя набираем: /opt/lampp/lampp startapache и если при это не возникает ошибок, то можно приступать к настройке mysql.
Для этогонам нужно будет проделать следующие действия:
1) Добавить в файл /opt/lampp/etc/my.cnf в секцию [mysqld] строку
где вместо aleks вы должны подставить имя своего пользователя.
2) Выполнить от имени root команды
Все, теперь mysql должен без проблем запускаться от простого пользователя B)
ProFTPd и проблемы, связанные с ним.
Тут-то нас и подстерегает жестокий облом. :( ProFTPd ни за что не желает запускаться из-под простого пользователя, несмотря на все мои ухищрения с suid-битами и владельцами файлов. Выяснить, что же именно в нем не работает у меня не было особого желания, да и необходимости - для веб-разработки он практически не нужен. Однако, можно слегка облегчить себе жизнь на тот лучай, если на м все же понадобится его запустить.
Для этого нужно добавить sudo в файл /opt/lampp/lampp в начало строчек
/opt/lampp/sbin/proftpd > /opt/lampp/var/proftpd/start.err 2>&1
и
kill `cat /opt/lampp/var/proftpd.pid`
Ссылка на сайт откуда я взял информацию http://nevkontakte.org.ru/blog/aleks/lampp-zapusk-ot-obychnogo-polzovatelya
Вторая часть
Для того, чтобы включить модуль eAccelerator (он очень порядочно ускоряет выдачу готовой страницы в браузер) необходимо раскомментировать (убрать точку с запятой в начале строки) файла /opt/lampp/etc/php.ini
Для поддержки Mod_rewrite (он используется во множестве движков для поддержки ЧПУ – человекопонятных URL) необходимо раскомментировать (удалить решетку в начале строки) строчку
в файле /opt/lampp/etc/httpd.conf, и там же
исправить на
(если строчек несколько – изменять все).
Ссылка на сайт откуда я взял информацию http://pingvinoff.net/2009/07/07/virtual-hosts-xampp/
Третья часть
Перенос рабочего каталога проекта из /opt/lampp/htdocs в /home/user/www/, чтобы упростить немного жизнь.
Где, переменная $USER это собственно имя проекта, в моем случае "makenskiy", будет создан линк из каталога /opt/lampp/htdocs/makenskiy в каталог ~/www
Сам проект будет доступен по URL адресу:
Ссылка на сайт откуда я взял информацию http://allossite.ru/unix-family/ubuntu/ustanovka-i-nastroyka-xampp-v-linux
Ну и немного моего собственного.
Правда добавление кнопки я взял из третей части, но немного изменил, в соответствии с Ubuntu Linux 10.04.
Добавить GUI управление сервером XAMPP в меню, для удобства. В Gnome это можно сделать через редактор меню, Система/Параметры/Главное меню, выбрать раздел в котором хотим добавить кнопку и нажать на кнопку "Новый элемент":
И чтобы у нас не запрашивал пароль суперпользователя при нажатии на эту кнопку я закомментировал в файле /opt/lampp/share/xampp-control-panel/xampp-control-panel вот эти строчки (поставил перед ними знак #):
Ну на этом всё.
Первая часть: LAMPP - запуск от обычного пользователя.
Вторая часть: Настройка XAMPP и виртуальных хостов
Третья часть: Установка и настройка XAMPP в Linux
я только объединил их в одну, по моему мнению они друг друга дополняют.
Первая часть
Сейчас существует множество сборок apache+php+mysql для упрощения работы веб-разработчиков, которые позволяют легко и быстро настроить у себя на компьютере все, что нужно для веб-программирования.
В рунете наиболее популярным пакетом является Денвер, третье поколение которого не так давно стало доступно публике. Однако, самый популярный - не значит "единственный". Из всех существующих, наибольшую конкуренцию Денверу может составить пакет XAMPP от проекта ApacheFriends. Впрочем, за рубежом он уже давно завоевал большое сообщество пользователей и единственное, что мешает ему потеснить Денвер - отсутствие русской локализации, которое отпугивает многих новичков.
Сегодня мы поговорим о версии XAMPP для Linux, известного так же как LAMPP.
Те, кто пользовались им, знают, что для запуска сервера необходимы права root, но вводить всякий раз пароль - дело не веселое. Поэтому я сегодня расскажу о способе, позволяющему избавить себя от этой нудной необходимости.
Немного теории.
В большинстве файловых систем, используемых ОС семейства *NIX (и Linux в том числе), Есть такое свойство файла - SUID-бит, установка которого в 1 обеспечивает запуск исполняемого файла с правами владельца.
Чтобы установить такой бит для файла file_name, нужно от имени root выполнить команду
chmod u+s file_name
Перейдем к практике.
Для того, чтобы управляющий скрипт (/opt/lampp/lampp) согласился работать и от имени простого пользователя, необходимо перед кждой из этих строк добавить символ решетки:
if test "`id -u`" -ne 0
then
$de && echo "XAMPP muss als root aufgerufen werden!"
$de || echo "You need to start XAMPP as root!"
exit
fi
Теперь приступим к самому главному.
Первым делом, научим запускаться от простого пользователя apache :)
Для этого выполним от имени root следующие действия:
chmod -R 0775 /opt/lampp/logs
chown -R root:users /opt/lampp/logs # вместо users здась нужно подставить имя группы, в которую входит ваш пользователь. Для openSUSE это и будет users, для Mandriva, как правило, такое же как имя пользвателя.
chown root:root /opt/lampp/bin/httpd
chmod u+s /opt/lampp/bin/httpd
Отлично, теперь от имени простого пользователя набираем: /opt/lampp/lampp startapache и если при это не возникает ошибок, то можно приступать к настройке mysql.
Для этогонам нужно будет проделать следующие действия:
1) Добавить в файл /opt/lampp/etc/my.cnf в секцию [mysqld] строку
user=aleks
где вместо aleks вы должны подставить имя своего пользователя.
2) Выполнить от имени root команды
chmod -R 0775 /opt/lampp/var/mysql
chown -R root:users /opt/lampp/var/mysql # вместо users опять подставляем имя группы вашего пользователя.
Все, теперь mysql должен без проблем запускаться от простого пользователя B)
ProFTPd и проблемы, связанные с ним.
Тут-то нас и подстерегает жестокий облом. :( ProFTPd ни за что не желает запускаться из-под простого пользователя, несмотря на все мои ухищрения с suid-битами и владельцами файлов. Выяснить, что же именно в нем не работает у меня не было особого желания, да и необходимости - для веб-разработки он практически не нужен. Однако, можно слегка облегчить себе жизнь на тот лучай, если на м все же понадобится его запустить.
Для этого нужно добавить sudo в файл /opt/lampp/lampp в начало строчек
/opt/lampp/sbin/proftpd > /opt/lampp/var/proftpd/start.err 2>&1
и
kill `cat /opt/lampp/var/proftpd.pid`
Ссылка на сайт откуда я взял информацию http://nevkontakte.org.ru/blog/aleks/lampp-zapusk-ot-obychnogo-polzovatelya
Вторая часть
Для того, чтобы включить модуль eAccelerator (он очень порядочно ускоряет выдачу готовой страницы в браузер) необходимо раскомментировать (убрать точку с запятой в начале строки) файла /opt/lampp/etc/php.ini
extension="eaccelerator.so"
eaccelerator.shm_size = "16"
eaccelerator.cache_dir = "/opt/lampp/tmp/eaccelerator"
eaccelerator.enable = "1"
eaccelerator.optimizer = "1"
eaccelerator.check_mtime = "1"
eaccelerator.debug = "0"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "0"
eaccelerator.shm_prune_period = "0"
eaccelerator.shm_only = "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
Для поддержки Mod_rewrite (он используется во множестве движков для поддержки ЧПУ – человекопонятных URL) необходимо раскомментировать (удалить решетку в начале строки) строчку
#LoadModule rewrite_module modules/mod_rewrite.so
в файле /opt/lampp/etc/httpd.conf, и там же
AllowOverride None
исправить на
AllowOverride All
(если строчек несколько – изменять все).
Ссылка на сайт откуда я взял информацию http://pingvinoff.net/2009/07/07/virtual-hosts-xampp/
Третья часть
Перенос рабочего каталога проекта из /opt/lampp/htdocs в /home/user/www/, чтобы упростить немного жизнь.
$ cd ~
$ mkdir www
# ln -s ~/www /opt/lampp/htdocs/$USER
Где, переменная $USER это собственно имя проекта, в моем случае "makenskiy", будет создан линк из каталога /opt/lampp/htdocs/makenskiy в каталог ~/www
Сам проект будет доступен по URL адресу:
http://localhost/makenskiy
Ссылка на сайт откуда я взял информацию http://allossite.ru/unix-family/ubuntu/ustanovka-i-nastroyka-xampp-v-linux
Ну и немного моего собственного.
Правда добавление кнопки я взял из третей части, но немного изменил, в соответствии с Ubuntu Linux 10.04.
Добавить GUI управление сервером XAMPP в меню, для удобства. В Gnome это можно сделать через редактор меню, Система/Параметры/Главное меню, выбрать раздел в котором хотим добавить кнопку и нажать на кнопку "Новый элемент":
в имени прописать: xampp
в команде: /opt/lampp/share/xampp-control-panel/xampp-control-panel
щёлкнуть на кнопку с изображением и поменять его на это: /opt/lampp/htdocs/xampp/img/logo-small.gif
И чтобы у нас не запрашивал пароль суперпользователя при нажатии на эту кнопку я закомментировал в файле /opt/lampp/share/xampp-control-panel/xampp-control-panel вот эти строчки (поставил перед ними знак #):
if test "`id -u`" -ne 0
then
echo "You need to run the XAMPP control panel as root!"
exit
fi
Ну на этом всё.
Комментариев нет:
Отправить комментарий