Смекни!
smekni.com

Проектирование локальной сети (стр. 3 из 4)

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 &bsol;

--with-gd=shared --enable-gd-native-ttf &bsol;

Сохраняем, выходим (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