Web-сервер на Debian gnu/Linux для начинающих о debian gnu/Linux



Pdf просмотр
Дата14.11.2016
Размер2.39 Mb.
Просмотров215
Скачиваний0

Web-сервер на Debian GNU/Linux для
начинающих
О Debian GNU/Linux
Debian
— это свободная операционная система (ОС) и набор прикладных программ для вашего компьютера. В Debian используется ядро
Linux
, но большинство утилит ОС разработано в рамках проекта
GNU
; поэтому полное название проекта — Debian
GNU/Linux. Как уже было отмечено выше, Debian GNU/Linux — это не только операционная система. В его состав входит более 25 000 пакетов заранее скомпилированного программного обеспечения, которые легко могут быть установлены.
Debian будет работать почти на всех персональных компьютерах, включая самые старые модели. Каждый новый выпуск Debian, как правило, поддерживает больше архитектур компьютеров. Полный список поддерживаемых в данный момент архитектур смотрите в документации по стабильному выпуску стал основой целого ряда дистрибутивов (более 100, список дистрибутивов, основанных на Debian). Самые известные из них — Adamantix, Bioknoppix, Dreamlinux,
Clusterix, Gnoppix, Knoppix, Ubuntu, Libranet, Linspire, MEPIS, Xandros Desktop OS и
Maemo.
О руководстве
Автор руководства: Станислав (aka Stan Ezersky) Езерский
, разработчик на
CMS/CMF Сразу хочется отметить, что руководство рассчитано на пользователей, которые собираются впервые использовать Debian GNU/Linux на домашнем/рабочем компьютере после работы с MS Windows.
В этом руководстве рассмотрены графическая установка и базовая настройка Debian GNU/Linux; работа с репозиториями; установка и настройка файлового сервера Samba; удаление, установка, обновление программ установка LAMP (Linux, Apache2, MySQL, PHP5), модулей и библиотек настройка домашнего сервера Установка и использование сервера на Debian GNU/Linux, рассмотренное в данном руководстве, ориентированы на разработчиков веб-приложений и сайтов, использующие домашний компьютер в качестве платформы для разработки.

Начало
Для начала нам нужен дистрибутив. Стабильная версия на момент написания руководства
— Debian 5.0.6 Lenny. Скачиваем CD или образ. Ссылку можно найти на этой странице. Когда я писал это руководство, я выбирал debian-506-i386-DVD-1.iso
, можете скачать и остальные образы, если у вас бывают перебои с доступом в интернет или его нет вообще (на дополнительных дисках содержатся дополнительные программы, библиотеки. После того, как вы скачаете образ, запишите его его на болванку (не пишите на максимальной скорости. Установка Debian несложная, но постарайтесь не спешить и быть внимательными.
Часть 1: установка и настройка Debian
GNU/Linux
1.1 Графическая установка системы
Включаем компьютер, вставляем диск в приводи начинаем установку. При появлении первого меню, выбираем Graphical install (Графическая установка. На первом экране нам предлагается выбрать язык, Наследующем экране выбираем страну
Выбираем раскладку клавиатуры — русская
После выбора раскладки происходит поиск привода компакт-дисков, далее идёт просмотр компакт-диска и загрузка дополнительных компонентов. Далее выбираем сетевую карту (если она не одна, настраиваем сеть (обычно DHCP настраивается автоматически. В моём случае мне пришлось выбрать карту
Далее предлагается ввести имя компьютера. Под этим именем компьютер будет виден в локальной сети
Далее идет вопрос о доменном имени. Как правило, для домашней сети можно задать произвольный домен, к примеру, home. У меня он совпадает с именем компьютера
Выбираем подходящий нам часовой пояс
После определения дисков и прочего оборудования, запускается программа разбиения жёсткого диска на разделы. Мы рассмотрим простой и эффективный метод разметки диска. Выбираем автоматическую разметку
Выбираем диск
Выбираем Отдельные разделы для /home, /usr, /var и /tmp»
Видим наследующем экране, как будут монтированы разделы
И применяем изменения
Для начинающих пользователей Linux такой вариант является оптимальными не требующим глубоких познаний в разметке дисков. Следующий (и очень важный) пункт установка пароля суперпользователя, рекомендуется ввести не менее 6 символов (после ввода пароля, запишите и сохраните пароль суперпользователя
Следующий пункт, создание пользователя вводим имя и фамилию
Выбираем имя учётной записи, по умолчанию система предложит ваше имя, если вы ввели имя и фамилию на предыдущем шаге
Наконец, устанавливаем пароль для нашей учётной записи
При настройке менеджера пакетов задаётся несколько вопросов использовать ли другие
CD- или диски в качестве источников приложений.
Если вы не скачивали дополнительные диски, отметьте Нет. А на запрос использования зеркала архива из сети, можно ответить Да, если у вас постоянное соединение с интернетом
Далее, если мы выбрали зеркало архива из сети, нам нужно указать страну, в которой находится зеркало
И выбрать сервер обновлений

Упс, сообщение проблема с зеркалом архива. Возвращаемся назад, нажав на кнопку Вернуться
И выбираем другой сервер (я выбрал сервер Corbina):
Далее нам предлагается ввести прокси-сервер, на ваше усмотрение
Ответ наследующем экране настройки зависит от вас, я выбрал вариант ответа Да.
Выбор программного обеспечения оставляем как есть (галки на Окружение рабочего стола и Стандартная система. сервер, MySQL и остальное мы поставим сами. По умолчанию будет установлена графическая среда GNOME и ряд дополнительных программ.
Происходит установка базовых пакетов. Ожидаем, когда скачаются файлы, их немногим более 800. После установки нам предлагается выбрать раскладку клавиатуры в консоли
Устанавливаем системный загрузчик GRUB в главную загрузочную запись. Отметьте Да, если Debian единственная операционная система на вашей машине.
После окончания установки привод сам отдаст диск, вам останется только закрыть лоток и система перезагрузится после нажатия кнопки Продолжить.

1.2 Настройка системы
1.2.1 Базовая настройка sudo
У насесть только что установленная чистая система, давайте приступим к важным настройкам. Для начала нам нужно включить sudo. sudo (англ. superuser [substitute user] do, дословно выполнить от имени суперпользователя) — это программа, разработанная в помощь системному администратору и позволяющая делегировать те или иные привилегированные ресурсы пользователям сведением протокола работы. Основная идея — дать пользователям как можно меньше прав, но при этом ровно столько, сколько необходимо для решения поставленных задач. Команда sudo предоставляет возможность пользователям выполнять команды от имени root, либо других пользователей. Правила, используемые sudo для принятия решения о
предоставлении доступа, находятся в файле /etc/sudoers; язык их написания и примеры использования подробно изложены в sudoers. Откроем терминал и введём
su
-
Нам будет предложено ввести пароль. После этого выполним команду visudo (она запустит редактор nano с конфигурационным файлом, содержащим пользователей sudo. visudo Найдите строку root ALL
(
ALL
)
ALL Добавьте после неё stan ALL
(
ALL
)
ALL Где stan — ваше имя в системе. Теперь пользователю stan разрешено выполнять команды от суперпользователя. Сохраните файл и закройте редактор (ctrl+o, жмём Enter, ctrl+x).
Внимание при сохранении будет предложено сохранить файл как sudoers.tmp, удалите расширение
.tmp, нажмите кнопку Enter и на вопрос о перезаписи нажмите 'Y' (кнопка сохранить — комбинация клавиш ctrl+o, выход — ctrl+x). С применением вы познакомитесь далее.
1.2.2 Установка программ
1.2.2.1 Apt
Начнём с самой простой команды на примере установки утилиты Numlockx, которая позволит нам активировать Num Lock при старте системы
sudo
aptitude
install
numlockx Аналогом этой команды будет
sudo
apt-get
install
numlockx
aptitude — оболочка для Advanced Packaging Tool (программа для установки, обновления и удаления программных пакетов, части системы управления пакетами в операционной системе Debian и её производных. Имеет псевдографический интерфейс и интерфейс командной строки.

apt-get — это средство командной строки для манипулирования пакетами, к примеру установки, обновления, удаления, получения и прочих действий. Какую из них использовать решать вам. После установки Numlockx следует перезагрузить машину aptitude.jpg
1.2.2.2 Synaptic
Нередко для установки программ используется Synaptic — графический интерфейс для системы управления пакетами apt. Давайте рассмотрим пример. После запуска а мы должны ввести пароль, чтобы продолжить работу с программой В Debian установлен текстовый редактор Gedit, для которого существуют плагины, значительно расширяющие его функциональность. Пакет называется gedit-plugins. Откроем Synaptic, нажмём кнопку искать и введём в строку gedit-plugins и щёлкнем искать. Результат поиска вернёт нам неустановленный пакет. Щёлкнем правой кнопкой на чекбокс, выберем Отметить для установки и нажмём Применить, после чего пакет будет установлен. Удаляется пакет похожими действиями, только выбираем из контекстного меню Отметить для удаления.
synaptic.jpg
1.2.2.3 Репозитории
Программы устанавливаются из репозиториев (хранилищ файлов) Debian GNU/Linux. Список репозиториев находится в файле sources.list в директории /etc/apt. Зачастую, указанных в нём репозиториев не хватает, поэтому мы можем добавлять в этот файл свои. Давайте теперь немного разберём добавление репозитория Debian Backports — официального репозитория пакетов из тестируемой (testing) версии Debian, адаптированных для работы в стабильной (stable) версии . Иными словами Debian
Backports предоставляет свежие версии программ. Рассмотрим примерна основе обновления браузера Iceweasel (это, грубо говоря, Mozilla Firefox для Debian), при помощи добавленного репозитория Backports мы обновим его до последней версии. Запустим терминал и откроем через текстовый редактор Gedit список источников
sudo
gedit /etc/apt/sources.list Добавим deb http://backports.debian.org/debian-backports lenny-backports main contrib non-free И обновим список пакетов
sudo
apt-get
update Теперь установим Iceweasel из backports. Делается это такой командой
sudo
aptitude
-t lenny-backports
install
iceweasel
Данная команд позволит установить сиз вместо стабильного. Вы должны заметить, что перед подтверждением на установку стоит уведомление, что рекомендована новая версия libglib2.0-data. Жмём «Y», устанавливается новая версия
Iceweasel. После установки Iceweasel, ставим и рекомендованную библиотеку
sudo
aptitude
install
libglib2.0-data Можете поставить необходимые вам расширения для Iceweasel, их можно найти на Рассмотрим немного другую ситуацию, когда у программы есть свой репозиторий, к примеру, у
FBReader
(программа для чтения электронных книг. На странице программы представлены инструкции, как её установить. Редактируем файл sources.list, в котором содержится список хранилищ
sudo
gedit /etc/apt/sources.list Дописываем новые репозитории: deb http://www.fbreader.org/desktop/debian etch main deb-src http://www.fbreader.org/desktop/debian etch main Скачиваем и добавляем PGP ключ
wget
http://www.fbreader.org/desktop/debian/geometer.fbreader.org.asc
sudo
apt-key
add geometer.fbreader.org.asc Обновляем информацию о пакетах
sudo
apt-get
update Устанавливаем программу для чтения книг
sudo
aptitude
install
fbreader Программа установлена. Рассмотрим ещё пример добавления репозиториев qutIM
. Делается это следующим образом
sudo
su
echo
"deb http://qutim.org/debian/lenny lenny main"
>> /etc/apt/sources.list
echo
"deb-src http://qutim.org/debian/lenny lenny main"
>>
/etc/apt/sources.list Следующим шагом необходимо добавить GPG ключ
wget
-O
- http://qutim.org/debian/archive.key |
sudo
apt-key
add - И установить программу

sudo
aptitude
install
qutim Удаляется программа командой
sudo
aptitude
remove qutim После обновления списка репозиториев стоит обязательно запускать команду
sudo
apt-get
update
1.2.2.4 Установка пакетов
deb — расширение имён файлов бинарных пакетов для распространения и установки программного обеспечения. Существует два способа установки пакетов.
Установка через терминал
Всё делается одной командой
sudo
dpkg
-i package_file.deb и удаляется так
sudo
dpkg
-r package_file
Пример: Переходим в директорию со скачанным пакетом (я скачал пакет
Opera и сохранил в папке
— downloads):
cd
/home/stan/downloads/ устанавливаем
sudo
dpkg
-i opera_10.62.6438_i386.deb если требуется, удаляем
sudo
dpkg
-r opera
Установка через интерфейс
Удобно в том случае, когда вы скачали пакет из интернета и устанавливаете как в
Windows: двойным кликом на пакете. Для того, чтобы работал этот вариант, надо установить GDebi Package Installer и Gdeb. Скачаем браузер Chrome для Linux (http://www.google.com/chrome?platform=linux&hl=ru), представляющий собой пакет и попытаемся его открыть. Нам покажется сообщение, что данный тип архивов не поддерживается.
Что ж, сделаем так, чтобы запускался установщик пакетов. Для этого щёлкнем правой кнопкой мыши на пакет, выберем Свойства / Открывать в программе и нажмём кнопку Добавить. Выберем GDebi Package Installer и GDeb для установки.

После этих действий выберем GDebi Package Installer для открытия архива.
Теперь наши пакеты будут ставиться сразу, а не пытаться просматриваться в программах для архивов.
18-1.png
18-2.png
18-3.png
18-4.png
1.2.3 Установка и базовая настройка
Samba
Samba — программа, которая позволяет обращаться к сетевым дискам на различных операционных системах по протоколу SMB/CIFS. Имеет клиентскую и серверную части Если вы планируете использовать вашу машину в Сети, то вам необходим файловый сервер Samba. Он нужен, если вы собираетесь передавать файлы между Linux и Windows машинами. Установка простая и не вызовет сложностей. Устанавливаем
sudo
aptitude
install
samba
Видим первое окно с настройкой, указываем рабочую группу, по умолчанию её имя
WORKGROUP. При появление следующего экрана смело жмём «Enter». Теперь надо разобраться с пользователями, Samba использует пользователей, которые уже есть в системе, возьмём для примера имя stan (вам надо ввести ваше имя пользователя, это имя уже есть в системе, надо внести его в базу данных SMB и назначить пароль для доступа к расшаренным ресурсам, сделаем это командой
sudo
smbpasswd
-a stan Вам будет предложено ввести пароль, после чего stan будет добавлен в базу, теперь необходимо включить пользователя stan
sudo
smbpasswd
-e stan И перезагрузим Samba:
sudo
/etc/init.d/samba restart
1.2.4 SSH

SSH (англ. Secure Shell — безопасная оболочка) это сетевой протокол для соединения через Internet, позволяющий производить удалённое управление операционной системой. Бесплатная версия SSH называется OpenSSH и доступна в пакете ssh Debian. Поставим
sudo
apt-get
update
sudo
apt-get
install
ssh
Чтобы его остановить/запустить/перезапустить введите команду
sudo
/etc/init.d/
ssh
stop/start/restart Только один из вариантов stop, start, restart Подключиться к серверу через ssh (с компьютера под управлением ‘nix подобной операционной системы)
ssh
user@host Для подключения с ОС Windows вам понадобиться программа, типа
PuTTY
1.2.5 Некоторые полезные команды
sudo
— действия от суперпользователя
(
суперюзера, рута
)
sudo
-i
– запуск интерпретатора под суперпользователем
(
суперюзером, рутом
)
nano
/путь/к/файлу — открыть файл в консольном редакторе Nano gedit /путь/к/файлу — открыть файл в текстовом редакторе Gedit
cp
/путь/к/файлу /путь/к/файлу.backup — создание резервной копии
ln
-s
/путь/к/существующему/файлу /путь/к/не_существующему/файлу — символьная ссылка
wget
http://site.dom/archive.tar.gz — скачать архив archive .tar.gz
aptitude
install
'package'
— установка пакета/программы
apt-get
install
'package'
— установка пакета/программы
aptitude
-t lenny-backports
install
'package'
— установка пакета 'package'
из репозитория lenny-backports
cd
— переход в директорию
mkdir
— создание директории
rm
— удаление директории
mv
— переименование
cp
— копирование
ln
— символьная ссылка
(
Simlink
)

tar
— работа с архивами
chmod
— смена прав
chown
— смена владельца
Часть 2. Установка и настройка web-
сервера
2.1 Установка Apache2, PHP5, MySQL
Перед установкой сервера выполним обновление
sudo
apt-get
update
sudo
apt-get
upgrade Ставим Apache:
sudo
apt-get
install
apache2 apache2-doc php5 libapache2-mod-php5 php-pear Ставим сервер
sudo
apt-get
install
mysql-server mysql-client php5-mysql Настоятельно рекомендуется ввести пароль суперпользователя Ставим дополнительно
sudo
apt-get
install
php5-curl php5-gd php5-idn php5-imagick php5-ldap php5- imap php5-memcache php5-mhash php5-mysql php5-ps php5-pspell php5-sqlite php5-suhosin php5-tidy imagemagick php5-xcache php5-xdebug php5-xmlrpc php5- xsl
2.2 Установка и настройка phpMyAdmin
Ставим phpMyAdmin:
sudo
apt-get
install
phpmyadmin
Выберем Apache2, нажмём Enter. Откроем
sudo
gedit /etc/apache2/apache2.conf Добавить в самый конец файла
# Include phpmyadmin configurations:
Include /etc/phpmyadmin/apache.conf Сохраним, закроем. теперь откроем конфигурационный файла и вставим парольную фразу в самый конец файла (любую из букв и цифр
$cfg
[
'blowfish_secret'
]
=
'bukvycifry'
; Сохраним, закроем. Перезапустим сервер
sudo
/etc/init.d/apache2 restart Запустим PHP:
sudo
a2enmod php5 Активируем mod_rewrite
sudo
a2enmod rewrite Доступ к phpmyadmin: Советую создать через интерфейс phpMyAdmin ещё одного пользователя с паролем и подключаться через него к базе на разрабатываемых сайтах. Это можно сделать в
Привелегиях. Вот пример того, как должна выглядеть страница
После внесённых изменений нажмите кнопку «OK». Пока интерфейсу нас перед глазами, создадим базу данных для последующего использования drupal_drupal6_site1 Переходим в созданную базу. Нам нужно добавить пользователя stan, который сможет с ней работать

2.3 Настройка PHP
Определяемся, что директория для наших сайтов /var/www Сменим (рекурсивно) владельца:группу директории /var/www, чтобы мы могли свободно в ней работать.
sudo
chown
-R
stan:stan /var/www Проверим, корректно ли установился PHP5. Для этого создадим файл phpinfo.php в директории /var/www gedit /var/www/phpinfo.php В открывшемся текстовой редакторе напишем
<?php phpinfo
()
; ?> И сохраним файл. Вызовем из браузера: http://localhost/phpinfo.php
Внесём изменения в php.ini, который располагается в /etc/php5/apache2
sudo
gedit /etc/php5/apache2/php.ini max_execution_time сменяем на 90 max_input_time поменяем сна меняем сна меняем сна меняем сна Чтобы быстрее найти нужные строки, воспользуйтесь поиском сочетание клавиш ctrl+f В директивах php.ini объём памяти уже указан 128 Mb, поэтому оставим его как есть. Этих изменений нам вполне хватит.

2.4 Настройка Apache2 и виртуальных
хостов
Перейдём в директорию с нашими сайтами
cd
/var/www/ и создадим сайт, с которым будем работать
mkdir
drupal Сделаем копию файла, в котором содержатся виртуальные хосты по умолчанию
sudo
cp
/etc/apache2/sites-available/default /etc/apache2/sites- available/drupal Откроем его для редактирования
sudo
gedit /etc/apache2/sites-available/drupal Удаляем содержимое файла и добавляем своё:
<VirtualHost *:80>
ServerAdmin webmaster@drupal.loc
ServerName drupal.loc
ServerAlias drupal.homeip.net
DocumentRoot /var/www/drupal
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Directory
'/var/www/drupal/'
>
AllowOverride All
Directory>
VirtualHost> Сохраняем, закрываем и включаем сайт
sudo
a2ensite drupal Перезагрузим Apache
sudo
/etc/init.d/apache2 reload Откроем hosts и пропишем там наши сайты
sudo
gedit /etc/hosts Вы можете прописать адрес, присвоенный машине (я настроил через роутер на адреса можете прописывать 127.0.0.1. Добавим перед строкой # The following
lines are desirable for IPv6 capable hosts наш сайт

192.168.1.100 drupal.loc или
127.0.0.1 drupal.loc Сохраняем, закрываем, перезагружаем Apache
sudo
/etc/init.d/apache2 reload Итак, чтобы добавить и включить другой сайт нам нужно повторить описанные выше действия. Для отключения сайта воспользуемся командой
sudo
a2dissite drupal Я предварительно положил в /var/ww/drupal файл
cd
/var/www/drupal gedit index.html Откроется редактор, сделаем стандартную страничку
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
xml:
lang
=
"ru"
lang
=
"ru"
dir
=
"ltr"
>
<
head
>
<
title
>
Drupal.loc
<
/
title
>
<
/
head
>
<
body
>
<
h1
>
Drupal.loc
<
/
h1
>
<
/
body
>
<
/
html
>
Попробуем зайти на сайт http://drupal.loc, мы должны увидеть заголовок Drupal.loc. Работает Отлично Удалим файл index.html такой командой
rm
-f index.html
2.5 Запуск виртуальных хостов от
пользователя
Теперь сделаем так, чтобы виртуальные хосты запускались не от www-data, а от пользователя. Начнём с того, что нам надо заменить apache2 на модифицированный apache2-mpm-itk. Откроем терминал и выполним
18-1.png
18-2.png
18-3.png
18-4.png

ВСЕ !!! МОЖНО РАБОТАТЬ
2.6 Дополнения
2.6.1 eAccelerator
eAccelerator - это свободно-распространяемый акселератор, оптимизатор и средство для кеширования динамического контента. Он увеличивает производительность PHP- скриптов за счёт их кеширования в скомпилированном состоянии, тем самым предотвращая их постоянную перекомпиляцию. В результате происходит увеличение скорости их выполнения. eAccelerator обычно уменьшает нагрузку на сервер и увеличивает скорость исполнения PHP кода на величину от 1 до 10 раз. К примеру, что скорость выдачи контента, например, для сайтов на Drupal, увеличивается до 30 раз
Начнём. для начала нам нужно установить php5-dev
sudo
apt-get
install
php5-dev
sudo
apt-get
install
make
Перейдём в директорию /tmp
cd
/tmp Скачаем архив
sudo
wget
http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-
0.9.6.1.tar.bz2
Распакуем:
sudo
tar
xvfj eaccelerator-0.9.6.1.tar.bz2
Перейдём в папку
cd
eaccelerator-0.9.6.1 По порядку выполним команды
sudo
phpize
sudo
./configure
--enable-eaccelerator
=shared
sudo
make
sudo
make
install
Создадим файл eaccelerator.ini
sudo
gedit /etc/php5/conf.d/eaccelerator.ini с таким содержанием
eaccelerator.shm_size =
"16"
eaccelerator.cache_dir =
"/var/cache/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 = Создадим директорию для кэша аи выставим на неправа на чтение/запись
sudo
mkdir
-p
/var/cache/eaccelerator
sudo
chmod
0777 /var/cache/eaccelerator Перезагрузим сервер
sudo
/etc/init.d/apache2 restart
Важно: Если вы собираетесь использовать eAccelerator, удалите php5-xcache.
2.6.2 Компилируем PHP5 с GD
Временно здесь
2.6.3 С (Планировщик задач)
Сокращение от хронограф (англ. chronograph) – это программа-планировщик, которая автоматически выполняет команды или скрипты (группы команд) через определенные промежутки времени. Drupal использует Cron для выполнения периодических задач. К примеру, эта команда запускает Cron каждые 45 минут
45 * * * * /usr/bin/
wget
-O
-
-q
-t
1 http://drupal.loc/cron.php Мы вернёмся к работе св главе Установка и настройка Drupal
» Пакет при установке предложит удалить apache2, смело жмите «Y», все ранее сделанные изменения в настройках останутся неизменными. Пользователь stan у насесть, группа stan тоже есть. От этого имении группы будут работать виртуальные хосты нашего сервера. Владельца и группу директории с нашими сайтами мы уже меняли выше
sudo
chown
-R
stan:stan /var/www
Остаётся добавить следующую команду. Для этого перейдём в /var/www/:
cd
/var/www/
и выполним
find
./
-type d
-exec
chmod
4770
{}
\; Затем отредактируем конфигурационные файлы виртуальных хостов. Откроем файл нашего виртуального хоста:
sudo
gedit /etc/apache2/sites-available/drupal и добавим
<IfModule mpm_itk_module>
AssignUserId stan stan
IfModule> Где stan stan это владелец и группа. Именно в таком порядке. Файл drupal в директории
/etc/apache2/sites-available/ должны выглядеть так
<VirtualHost *:80>
ServerAdmin webmaster@drupal.loc
ServerName drupal.loc
ServerAlias drupal.homeip.net
DocumentRoot /var/www/drupal
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Directory
'/var/www/drupal/'
>
AllowOverride All
Directory>
<IfModule mpm_itk_module>
AssignUserId stan stan
IfModule>
VirtualHost> Перезагрузим сервер
sudo
/etc/init.d/apache2 restart
Часть 3. Установка и настройка Drupal
6.xx
3.1 Установка Drupal
Приступим к установке. В первую очередь скачаем Drupal
wget
http://ftp.drupal.org/files/projects/drupal-6.19.tar.gz перейдём в директорию, в которую скачали архив

cd
/home/stan распакуем
tar
xvfz drupal-6.19.tar.gz переименуем
mv
drupal-6.19 drupal скопируем в /var/www
cp
-R
/home/stan/drupal /var/www
Перейдём в директорию default
cd
/var/www/drupal/sites/default Сделаем копию default.settings.php и переименуем в settings.php
cp
default.settings.php settings.php Создадим папку files
mkdir
files Выставим права на files
chmod
777 files выставим права на settings.php
chmod
777 settings.php Для начала установки всё готово, можем сразу создать директории для теми модулей вернёмся на уровень вверх
cd
перейдём в папку all
cd
all По очереди создадим папки
mkdir
themes
mkdir
modules
mkdir
libraries Откроем в браузере наш сайт http://drupal.loc
Нажмём Install Drupal in English и перейдём наследующую страницу , которую мы должны заполнить своими данными

Жмём «Save and continue». Вводим данные для администрирования наследующей странице (имя и пароль для входа, почтовый адрес, с которым будет работать сайт) и т.п. Сайт установлен. Теперь нам надо сменить права для settings.php
cd
/var/www/drupal/sites/default
sudo
chmod
644 settings.php Давайте запустим
cron
, чтобы быть уверенными, что всё поставилось нормально, права выставлены верно
Вот и вся установка. можете самостоятельно устанавливать модули и темы. От себя могу посоветовать свою тему «
Clearland
», которую можно скачать из моего блога
3.2 Мультисайтинг
3.2.1 Введение в мультисайтинг
Мультисайтинг — это размещение на одном движке нескольких сайтов, к примеру сайты http:/drupal.loc, http://sub.drupal.loc или http://drupal.loc/sub (встречается редко. Сайты могут использовать общие модули, темы и даже таблицы в разных базах данных например, пользовательские данные. Сайт на поддомене представляет из себя создание директории в sites, к примеру
sub.drupal.loc, в которой должны находится директории modules, themes, files, файлы default.settings.php и settings.php.
Простой вариант, имеющий адрес сайта http://sub.drupal.loc, мы рассмотрели. Теперь пара слово расположении сайта в виде http://drupal.loc/sub. Вделается директория drupal.loc.sub и создаётся символьная ссылка (simlink) на корневую директорию
ln
-s
. sub Файлы, модули и темы хранятся также, как в описанном выше примере Настоятельно советую прочитать подробную инструкцию на
Drupal.org
3.2.2 Базы данных в мультисайтинге
Сайты могут иметь свои базы и быть независимыми друг от друга, а могут иметь разные базы и общие таблицы. К примеру, сайты drupalogy.ru и magazine.drupalogy.ru используют общих пользователей, роли и поля профиля. У нас должно быть три базы данных, к примеру main_drupal6, sub_drupal6 и
shared_drupal6. Общими таблицами будут authmap, profile_fields, profile_values, role, sessions и users, размещённые в shared_drupal6. Чтобы использовать общие таблицы, надо прописать в settings.php для каждого сайта. В нашем случае для drupal.loc и sub.drupal.loc
Настройка drupal.loc Используемая база данных — main_drupal6
$db_url
=
'mysqli://stan:password@localhost/main_drupal6'
;
$db_prefix
=
array
(
'default'
=>
''
,
'authmap'
=>
'shared_drupal6.'
,
'profile_fields'
=>
'shared_drupal6.'
,
'profile_values'
=>
'shared_drupal6.'
,
'role'
=>
'shared_drupal6.'
,
'sessions'
=>
'shared_drupal6.'
,
'users'
=>
'shared_drupal6.'
,
)
;
Соответственно, в настройках сайта sub.drupal.loc тоже нужно прописать общие таблицы
Настройка sub.drupal.loc Используемая база данных — sub_drupal6
$db_url
=
'mysqli://stan:password@localhost/sub_drupal6'
;
$db_prefix
=
array
(
'default'
=>
''
,
'authmap'
=>
'shared_drupal6.'
,
'profile_fields'
=>
'shared_drupal6.'
,
'profile_values'
=>
'shared_drupal6.'
,
'role'
=>
'shared_drupal6.'
,
'sessions'
=>
'shared_drupal6.'
,
'users'
=>
'shared_drupal6.'
,

)
;
3.2.3 Модули и темы
Хранение модулей и тем для разных сайтов может быть объединено вили. Это имеет смысл, когда на сайтах используются одинаковые модули. Иногда стоит раскидывать модуль по сайтам, где они используются, к примеру, на сайте
drupal.loc не используется модуль
Bueditor
, а на sub.drupal.loc — используется. Значит, стоит его поместить в /sites/sub.drupal.loc/modules. Тоже самое касается и тем тему, используемую на сайте sub.drupal.loc, поместим в
/sites/sub.drupal.loc/themes Не забывайте, что сайт sub.drupal.loc будет использовать все модули и темы, хранящиеся в /sites/all/modules и /sites/all/themes
3.2.4 Работа с файлами
При работает с несколькими сайтами можно хранить файлы как в общей директории, например, в /files в корне сайта, таки в директории с сайтами, например, в
/sites/sub.drupal.loc/files/. Что из предложенных вариантов подходит ближе, решать вам.
3.3 Перенос сайта на реальный хостинг
Рассмотрим перенос уже готового сайта на реальный хостинг на примере сервиса it- Имеем сайт, установленный по пути /var/www/наш_сайт/public_html, наши файлы картинки, загруженные файлы и т.п.) хранятся по пути
/var/www/наш_сайт/public_html/sites/default/files/ и соответственно есть база данных наш_сайт. Задача — перенести сайт сна сервер. Наш новый сайт будет располагаться по такому пути — домен Наши файлы будут располагаться по пути — домен Наши темы будут располагаться по пути — домен Наши модули будут располагаться по пути — домен Примечание на сервере предустановлено более 600 модулей, которые вы можете просто включить Чтобы у нас не возникло никаких проблем и всё заработало корректно, проделываем описанные ниже шаги.
Работа с базой данных
Экспортируем базу, через любой удобный редактор меняем пути в экспортированном дампе.

Вариант 1 (/var/www/наш_сайт/public_html/files/): files/ меняем на домен
Вариант 2 (файлы хранятся в /var/www/наш_сайт/public_html/sites/default/files/): sites/default/files/ меняем на домен Меняем адрес сайта на верный, например, если на localhost адрес вашего сайта был http://my-site.loc, то меняем на зарегистрированный вами домен, который вы собираетесь использовать в качестве адреса вашего сайта, к примеру, http://my-site.ru. С дампом закончили, сохраняем Теперь зальём дамп базы с исправленными путями. Чтобы попасть в phpMyAdmin, набираем в адресной строке http://my-site.ru/phpmyadmin. Вводим наши логин и пароль. Заливаем дамп. Теперь нас интересуют следующие таблицы, которые надо очистить. Внимание Сами таблицы удалять нельзя, удаляем только записи в них

cache

cache_block

cache_content

cache_filter

cache_form

cache_menu

cache_page

cache_update

cache_views (может и не быть, если вы не используете модуль Views)

cache_views_data (может и не быть, если вы не используете модуль Views)

watchdog
Перенос файлов
Используя
Putty
(программа для работы через консоль) или
WinSCP
(программа в духе drag & drop) заливаем на хостинг директории files, папку с темой в домен, список предустановленных модулей можно узнать у хостера, так что не торопитесь заливать модули, директория хранения которых домен. Вводим, предоставленные нам для доступа, данные Поставим права (рекурсивно) на директорию домен 0775 Примечание не надо ставить 0777, PHP и Apache для ваших доменов работает от имени вашего пользователя Если вы на localhost включали кэшировани и сжатие js- и файлов, то обязательно очистите директории домен и домен
Запустим наш сайт, перейдём в раздел "Производительность, проверим наши настройки и сохраним. Сбрасываем кэш (http://my-site.ru/admin_menu/flush-cache). Теперь нам нужно запустить обновление системы http://my-site.ru/update.php Проверяем сайт, всё работает.
Возможные проблемы
Белая страница — вы не удалили содержание в таблицах cache_XXX и не почистили директории /js/, /css/ Ошибка доступа к файлам, папкам — вы не проставили права на /files/ Пропали меню, логотип и т.п. — переходим в настройки темы и ставим галки на нужных элементах.
Изменённый файл .htaccess
Изменить .htaccess по умолчанию на свой можно по такому пути домен
Установка изменённых модулей
Многие изменяют модули "под себя, например, BuEditor (добавляют собственные кнопки, функционал. Поэтому мы рассмотрим пример именно на этом модуле Итак,
1.
Идём в Advanced Module Manager; Отключаем предустановленный модуль (он находится в блоке "Другие Удаляем его Копируем свой в директорию домен
5.
Идём в Поиск модулей, вводим в поисковой строке BuEditor, находим его, жмём
Install; Включаем Переходим в настройки BuEditor и работаем с ним (импортируем кнопки, например) Я, описывая все эти шаги, сам проделывал все эти действия. Всё должно работать
Часть 4. Установка и работа с Drush
Drush – это мощная утилита, позволяющая управлять сайтом из командной строки. Устанавливается Drush очень просто
sudo
aptitude
install
drush Теперь перейдём в директорию

cd
/var/www/drupal и посмотрим статус установленного у нас на сервере Drupal drush status Команда вернёт нам следующее Как видно из команды, ничего сложного. Давайте познакомимся с основными командами, которые пригодятся нам в работе с этой утилитой status – состояние сайта dl — установить
(
скачать
)
модуль
enable
— включить модуль disable — выключить модуль uninstall — удалить модуль up — обновить все модули cron — запустить крон cache
clear
— очистить кэш drush
--help
— показывает справку Это всего лишь часть команд, которые следует знать. Давайте попробуем скачать, установить, включить, выключить и удалить модуль Для начала перейдём в рабочую директорию с установленным ом
cd
/var/www/drupal Листинг действий (после каждого действия вы можете проверять результат на работающем сайте drush dl coder drush
enable
coder drush disable coder drush uninstall coder
Просто, неправда ли Напоминаю, что всегда можно набрать команду drush
--help и получить справку. Я настоятельно советую продолжить изучение Drush — это действительно мощный инструмент. Это не только установка, включение или выключение модулей.
Часть 5. Системы управления версиями
5.1 CVS
CVS — одна из самых распространённых систем управления версиями. В настоящее время популярность этой системы быстро снижается, в силу активного развития существенно более мощных современных альтернатив. Временная ссылка
CVS — Система Управления Параллельными Версиями
Листинг 1 демонстрирует набор простых CVS команд с кратким описанием каждой. Для более подробной информации, обратитесь к секции Ресурсы . Примеры команд для CVS Создать новый репозиторий
cvs
-d
/home/user/new_repository init Подсоединиться к корневому репозиторию
export
CVSROOT
=:pserver:user@example.com:/cvs_root Выгрузить блок для модуля из корневого репозитория

cvs
checkout project Обновить локальный блок из корневого репозитория
cvs
update Внести изменения из локального блока в коневой репозиторий
cvs
commit Добавить новые файлы в локальный блок
cvs
add <file/subdirectory> Показать изменения, сделанные в локальном блоке
cvs
diff
Несмотря на повсеместное использование, CVS имеет свои недостатки. CVS не позволяет переименовывать файлы, также она имеет недостатки при работе с определенными файлами, например, с символьными ссылками. Изменения, отслеживаемые самим файлом, могут иногда надоедать. Синхронизация может быть иногда проблематична (CVS внутри использует diff3 для этой цели. Однако, CVS полезен, если действительно это необходимо сделать, ион пригоден для всех главных платформ. Если вам нравится CVS, в целом, то Subversion может быть для вас как раз тем, что выищете (ранее известная как Bazaar-NG, имя утилиты командной строки bzr) — распределённая система управления версиями, разработка которой спонсируется фирмой
Canonical Ltd.. Система Bazaar разработана с целью облегчить работу над развитием свободных и открытых проектов для всех желающих.
Подробно
5.3 Git
Git — распределённая система управления версиями файлов. Проект был создан Линусом
Торвальдсом для управления разработкой ядра Linux. Устанавливается командой
sudo
apt-get
install
git-core
Примеры команд для Git
Получить Git репозиторий (впервые)
git
clone \
git
://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Обновить Git репозиторий из определенного вышестоящего Git репозитория
git
pull Выгрузить из Git репозитория в локально работающий репозиторий
git
checkout Добавить изменения в локальный Git репозиторий
git
commit Внести изменения в вышестоящий (потребует SSH доступ к вышестоящему
git
push Добавить новые файлы в локальный репозиторий ires (commit)
git
add <
file
> Показать изменения, сделанные в локально работающей директории
git
diff
Удалить файлы
git
rm
<
file
>
Подробно
5.4 Mercurial
Mercurial — кроссплатформенная распределённая система управления версиями, разработанная для эффективной работы сочень большими репозиториями кода. Mercurial первоначально был написан для Linux, позже портирован поди большинство систем. В первую очередь он является консольной программой. Все его операции запускаются параметрами программы hg. Утилита hg обладает компактным интерфейсом, и Mercurial считается более простой в освоении системой, чем, например, git Устанавливается командой
sudo
apt-get
install
mercurial
Подробно
5.5 Subversion (SVN)

Subversion, также известная как «SVN» — свободная централизованная система управления версиями, официально выпущенная в 2004 году компанией CollabNet Inc. Цель проекта — заменить собой распространенную на тот момент систему Concurrent
Versions System (CVS), ныне считающуюся устаревшей. Subversion реализует все основные функции CVS и свободна отряда недостатков последней. Устанавливается командой
sudo
aptitude
install
subversion
Примеры команд для Subversion
Создать новый репозиторий
svnadmin
create /home/user/new_repository Выгрузить блок из корневого репозитория
svn
checkout
file
:///server/svn/existing_repository new_repository Обновить локальный блок из корневого репозитория.
svn
update Внести изменения из локального блока в корневой репозиторий.
svn
commit Добавить новые файлы в локальный блок
svn
add <file/subdirectory> Показать изменения, сделанные в локальном блоке
svn
diff
Переименовать файл в локальном блоке
svn
rename <old_file> <new_file> Удалить файлы
svn
delete <file/subdirectory>
Подробно
Благодарности
Автор настоящего руководства, благодарит Александра (aka Axel) Графова и
Даниэля (aka
Dan) Ишмаева за внесённые дополнения и предложения по содержанию. Также,
благодарит пользователей
Drupal.ru за оказанную помощь в работе над ошибками
(
Softovick
,
ZanaDLucTyc
).
Полезные ссылки

Debian.org
; Установка PHP + Apache: CGI vs. module
; Справочник по Debian
;

Using the Root Account on Debian
; Устанавливаем и настраиваем LAMP и Trac+SVN на Ubuntu
;

Recompiling PHP5 With Bundled Support for GD on Ubuntu
; Запуск виртуальных хостов Apache2 от разных пользователей Установка Samba
; Разметка дисков в Debian
;

LAMP на Ubuntu
; Журнал «Linux Format»
;

We Linux
;

O'Reilly Linux Dev Center
;

Unix Home
;

Linux-блог на Хабрахабр
;

Debian-блог на Хабрахабр
;

eAccelerator settings
;

Improve PHP performance with eAccelerator on Ubuntu 8.04 (Debian)
;

Пингвинус Linux
; Система управления версиями Системы управления версиями для Linux
; Установка и настройка Subversion, Apache, WebSvn в Debian / Ubuntu
;

Run multiple sites from the same code base (multi-site)
Drupal

Drupal.org
;

Drupal.ru
;

Drupal.by
;

Drupal.ua
; Журнал «Друпалогия»
;

Drupalogy — выставка сайтов, сделанных на Drupal
2012. Статья из интернета. Автору -респект

Каталог: static -> 000 -> 000 -> 262 -> 406 -> doc
000 -> В эту ночь,когда перо медленно выводит то,что предстоит кому-то прочесть,над Минском завываетхолодный февральский ветер. Порывы его настолько сильны,что сбивается последовательностьмыслей…В эти мгновения одолевают сомнения,неуверенность
000 -> Внимание!
000 -> Закон №12. 965, 23 апреля 2014 г устанавливает принципы, гарантии, права и обязанности использования интернета в Бразилии
000 -> Семинаров и выставок, создание «визитных карточек»


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал