2.3 Файловый сервер Samba
(Необходим, если вы собираетесь передавать файлымежду Linux и Windows машинами).
Открываем терминал:
sudo -i
ваш пароль
aptitude install samba
Теперь надо разобраться с пользователями, Samba использует пользователей, которые уже есть в системе, возьмём для примера имя stan (вам надо ввести ваше имя пользователя), это имя уже есть в системе, надо внести его в базу данных SMB и назначить пароль для доступа к расшаренным ресурсам, сделаем это командой smbpasswd -a stan
Вам будет предложено ввести пароль, после чего stan будет добавлен в базу, теперь необходимо включить пользователя stan:
smbpasswd -estan
И перезагрузим Samba:
/etc/init.d/samba restart
Давайте рассмотрим удаление старых версий программ и установку новых на примере мессенджера Pidgin.
Открываем терминал:
sudo -i
ваш пароль
Для начала нам нужно удалить установленную версию. Переходим в Установка и удаления приложений/Интернет, снимаем галочку с "Клиент обмена мгновенными сообщениями Pidgin", кнопка "Применить изменения".
aptitude install intltool
aptitude -t lenny-backports install pidgin
Полезные команды.
sudo — действия от суперпользователя
sudo -i – запуск интерпретатора под суперюзером
nano /путь/к/файлу — открыть файл
gedit /путь/к/файлу — открыть файл
wget -p ссылка на файл
aptitude install 'package' — установка пакета/программы
apt-get install 'package' — установка пакета/программы
aptitude -t lenny-backports install 'package' — установка пакета/программы из репозитория
cd — переход в директорию
mkdir — создание директрии
rm — удаление директории
cp — копирование
ln — сивольная ссылка (Simlink)
tar — работа с архивами
cp /путь к файлу /путь к файлу.backup — создание бэкапов файлов
ln -s /путь/к/существующему/файлу /путь/к/не_существующему/файлу — символьная ссылка
2.4 Установка web-сервера, его настройка инастройка виртуальных хостов.
Сразу решим, что PHP у нас будет работать как модуль сервера Apache, а не как CGI-программа.
Вариант хранения сайтов у нас будет таким: /var/www/sitename. Возможен вариант /home/user/public_html, но он нас не подходит для локального сервера. Управлять сайтами от одного пользователя проще.
Перед установкой рекомедуется обновить систему:sudo apt-get update
Ставим всё одной командой:
aptitude install fetchmail flex libarchive-zip-perl libcompress-zlib-perl libpopt-dev lynx m4 ncftp nmap
zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential alien ssh openssh-
server mysql-server mysql-client libmysqlclient15-dev mysql-admin libapache2-mod-auth-mysql mysql-
gui-tools-common mysql-admin mysql-query-browser mysql-query-browser mysql-gui-tools-common
libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-ffmpeg php5-gd php5-idn php-
pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-
ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl imagemagick php5-
ldap apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 quilt ssl-cert ntp
После того, как файлы скачаются, начнётся установка, в процессе которой нам будут предоставлены возможности для настройки: ввод пароля для пользователя MySQL — на ваше усмотрение (если сайт будет работать не только для вас, поставить пароль обязательно!).Активируем mod_rewrite командой sudo a2enmod rewrite
Запустим PHP:
sudo a2enmod php5
А эти команды пригодится нам после создания новых виртуальных хостов или удаления ненужных:
sudo /etc/init.d/apche2 restart — перезагрузка сервера
sudo /etc/init.d/apache2 force-reload — принудительная перезагрузка сервера
Эти команды пригодятся для смены прав, владельца, группы:
sudo chmod 777 /path/to/folder/or/file
смена прав доступа для директории/или файла
sudochown -Ruser:group /path/to/folder
смена пользователя:группы для директории
Проверим PHP5
в терминале выполним:
sudo chown -R user:group /var/www – измените user и group насвоё
sudo echo '<?php phpinfo(); ?>' > /var/www/phpinfo.php
Эта команда создаст файл phpinfo.php с содержанием <?php phpinfo(); ?> в директории /var/www/. Откроем в браузере: http://localhost/phpinfo.php и увидим информацию об установленном PHP, модулях manual/en/function.phpinfo.php)
Pecl APC
Переходим в /usr/src
sudocd /usr/src
скачиваем
sudo wget -p http://pecl.php.net/get/uploadprogress-1.0.1.tgz
копируем:
sudo cp /usr/src/pecl.php.net/get/uploadprogress-1.0.1.tgz /usr/src/uploadprogress-1.0.1.tgz
переходим в директорию:
sudo cd /usr/src
распаковываем: sudotar -xvzfuploadprogress-1.0.1.tgz
переходим в директорию:
cd uploadprogress-1.0.1
выполняем команды по очереди:
phpize
./configure
make
make install
Открываем php.ini и дописываем extension=uploadprogress.so
gedit /etc/php5/apache2/php.ini
Раз уж php.ini в процессе редактирования, поправим некоторые параметры:
max_execution_time и max_input_time поменяемс 60 на 300
памяти у нас уже 128, это вполне хватит для больших проектов
post_max_size меняем с 8M на 200M (451 строка)
upload_max_filesize меняем с 2M на 50M (565 строка)
max_file_uploads меняем с 50 на 150 (569 строка)
Более нас в php.ini не ничего интересует. Сохраняем и выходим (ctrl+o, Enter, ctrl+x). Перезгружаем сервер:
sudo /etc/init.d/apache2 restart
Теперь займёмся виртуальными хостами на Apache. Выполним следующее:
cd /var/
chown -R user:group www
где user - ваше имя пользователя, а group - ваша группа. Теперь вы можете вручную создать в директории /var/www ваши сайты, к примеру, drupal, phpmyadmin.
Открываем:
sudo nano /etc/apache2/sites-enabled/000-default
если удобно, можете пользоваться аналогом:
gedit /etc/apache2/sites-enabled/000-default
и всё удаляем. Заменяем удалённое на
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
ServerName localhost
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Directory /var/www/>
Order Deny,Allow
Allow from 127.0.0.1
Deny from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName phpmyadmin.loc
DocumentRoot /var/www/phpmyadmin
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Directory "/var/www/phpmyadmin/">
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName drupal.homeip.net
ServerAlias drupal.loc
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>
Сохраняем, выходим (еслипользовались nano, ctrl+o, жмём Enter, ctrl+x).
Далее
sudo nano /etc/apache2/ports.conf
Закомментируем NameVirtualHost *:80. Т.е. получится так:
# NameVirtualHost *:80
Сохраняем, выходим (ctrl+o, жмём Enter, ctrl+x)
Далее
sudo nano /etc/apache2/httpd.conf
Вставим в этот файл такую строку:
ServerName localhost
Сохраняем, выходим (ctrl+o, жмём Enter, ctrl+x)
Откроем hosts и пропишем там наши сайты:sudo nano /etc/hosts
Вы можете прописать адрес, присвоенный машине (я настроил через роутер на адрес192.168.1.100). А можете прописывать 127.0.0.1.
Добавим перед строкой # The following lines are desirable for IPv6 capable hosts наши сайты:
192.168.1.100
192.168.1.100
192.168.1.100
drupal.homeip.net
phpmyadmin.loc
drupal.loc
# для сервиса DynDNS
или (смотрите пример первого виртуального хоста (localhost))
127.0.0.1 phpmyadmin.loc
127.0.0.1 drupal.loc
охраняем, выходим (ctrl+o, Enter, ctrl+x)
Перезагрузим Apache
sudo/etc/init.d/apache2 restart
Попробуем зайти на каждый из сайтов:
http://drupal.loc
http://test.loc
26
http://phpmyadmin.loc
На каждом сайте увидим такую страницу:
phpMyAdmin
Тут нет ничего сложного. Нам надо скачать с http://phpmyadmin.net версию архива и распаковать файлы /var/www/phpmyadmin. Доступ к интерфейсу будет таким: http://phpmyadmin.
loc
2.5 Почта
По умолчанию в Debian стоит почтовый сервер exim4, можно использовать его для почты наlocalhost, а можно поставить postfix или sendmail.
Почта хранится в этой директории /var/spool/mail
Пересобираем PHP5 с поддержкой php5-gd sudo –iвводим пароль
Выполняем по порядку, ничего не пропускаем:
apt-get install build-essential debhelper fakeroot
cd /usr/src
apt-get source php5
apt-get build-dep php5
cd php5-5.2.6.dfsg.1
Теперь нам надо сделать изменения в файле rules. Открываем
nano debian/rules
находим (CTRL+W) и меняем строку
на
--with-gd=shared,/usr --enable-gd-native-ttf \
--with-gd=shared --enable-gd-native-ttf \
Сохраняем, выходим (ctrl+o, Enter, ctrl+x)
Добавляем
aptitude install apache2-prefork-dev chrpath freetds-dev libapr1-dev libbz2-dev libcurl4-openssl-dev
libcurl-dev libdb4.7-dev libdb4.6-dev libedit-dev libexpat1-dev libfreetype6-dev libgcrypt11-dev libgd2-
xpm-dev libgmp3-dev libjpeg62-dev libkrb5-dev libldap2-dev libmhash-dev libncurses5-dev libpam0g-
dev libpcre3-dev libpng12-dev libpq-dev libpspell-dev librecode-dev libsasl2-dev libsnmp-dev libsqlite0-
dev libt1-dev libtidy-dev libwrap0-dev libxmltok1-dev libxml2-dev libxslt1-dev quilt re2c unixodbc-dev
на вопрос о подтверждении нажмиаем ‘Y’ и Enter
dpkg-buildpackage -rfakeroot -d
пакеты будут пересобиратсья
cd ..
dpkg -i php5-gd_5.2.6.dfsg.1-1+lenny9_i386.deb
/etc/init.d/apache2 restart
Теперь у нас установлен полноценный сервер.
2.6 Установка Drupal
Создадим для Drupal базу:
Перейдём в phpmyadmin http://phpmyadmin.loc
Создадим новую базу drupal_drupal6, поставим кодировку utf8_general_ci, сохраним
Скачаем последнюю стабильную версию (на данный момент 6.19). с сайта http://drupal.
Org
Распакуем, скопируем содержимое (директории и файлы) в /var/www/drupal
Перейдём в /var/www/sites/default, сделаем копию default.settings.php и переименуем вsettings.php. Поставим права на запись (правой кнопкой на файле, "Права")
Создадим директорию files, тоже выставим права на чтение и запись
Перейдём на сайт: http://drupal.loc
Устанавливаем.
На следующем экране введите почтовый адрес сайта, имя пользователя (администратора, пароль и подтверждение). Можно сразу включить чистые ссылки (Clean URL’s).
После установки сменим права на /var/www/sites/default/settings.php на чтение
Директории для ваших тем и модулей: /var/www/drupal.sites/all/themes и /var/www/drupal.sites/all/modules соответственно.
Запустите cron, убедитесь, что в таблице "Отчёт о состоянии" нет ошибок и предупреждение
2.7 Установка и работа с Drush
Drush – это мощная утилита, позволяющая управлять Drupal-сайтом из команднойстроки.
Устанавливется Drush очень просто
sudo aptitude install drush
Теперь перейдём в директорию
cd /var/www/drupal