Налаштування web сервера на freebsd - автоматизація підприємств в Краснодарі

Налаштування web сервера на FreeBSD.
Основні завдання:
1. Маршрутізатор- шлюз інтернету для інших хостів в локальній мережі, в тому числі і сервера
2. Web сервер Apache.
3. DNS сервер Bind.
4. Smtp сервер.
5. Ftp сервер.
6. MySql сервер.

Необхідні параметри потрібно блок бажано з материнки компанії Intel, двома мережевими картами, жорстким диском або апаратним raid масивом, доступом в інтернет по локальній мережі на швидкості не менше 1 мегабіта. Процесор не нижче Пентиума, хоча підійде і Celeron. DVD привід.


Встановлюємо з компакт диска Вісь FreeBSD, при цьому виконуємо нижчеперелічені пункти:
1. Вибираємо країну - Росія, мова установки-Русский,
2. Вибираємо пункт меню Custom,
3. Вибираємо пункт меню Partition і розбиваємо диск, в разі RAID вибираємо відповідний пристрій. При цьому зазначаємо використовувати весь диск під систему freebsd, користуючись пунктом А, по закінченні натискаємо Q.
4. Перейшовши на пункт Менеджера завантаження вибираємо Standart так як при єдиною Осі нам менеджер завантаження не потрібен.
5. Переходимо на пункт Label- розбиття жорсткого диска на розділи. Рекомендується використовувати ключ А - При цьому диск розбивається на розділи автоматично за замовчуванням.
Як правило цього цілком достатньо і нам не доведеться монтувати розділи вручну. Після закінчення також натискаємо Q і виходимо з програми розбиття жорсткого диска на розділи.
6. Вибираємо пункт Destribution, тобто вибір базового системного ПО. Відзначаємо пропуском пункт Minimal нас цілком влаштує мінімальна конфігурація, так як всі параметри будемо вказувати вручну. Переходимо в розділ Custom. Відзначаємо пункти base, kernels, dict, doc, man, ports. Далі вибираємо пункт sorce і натискаємо пробіл, в розпочатому наступному вікні вибираємо все і повертаємося назад. Вибираємо пропуском пункт ports для установки програмного забезпечення нам знадобиться колекція портів freebsd.
7. Переходимо до головного меню і вибираємо пункт Media. Тут вибираємо джерело звідки інсталювати систему. У моєму випадку це CD / DVD.
8. Вибираємо пункт Commit і підтверджуємо, що ми дійсно все вибрали правильно.
9. На пропозицію системи налаштувати після інсталяції вказуємо NO можна буде налаштувати все після перезавантаження. Хоча вказати пароль на адміністратора, вказати локального користувача і параметри мережевих інтерфейсів не завадить.

Перед початком установки пакетів з колекції портів, рекомендую оновити саму колекцію портів. Для цього введіть комманду

в результаті відбудеться скачування оновлених портів на настраевиемий сервер, потім
відбудеться заміна колекції портів, потім пробуємо оновиться на всякий випадок
13. Для зручності роботи з системою нам належить встановити файловий менеджер MC (midnight commander). Для цього за допомогою команди cd перейдемо в директорію виконаємо команду:

Зазначимо необхідні опції для установки, можна встановити за замовчуванням. Система повинна закачати інсталяційні пакети з інтернету, скомпонувати, скомпеліровать в працездатну програму. Якщо під час закачування - установки стався збій, заново вводимо комманду:

Після закінчення установки введемо команду

тим самим відновимо конфігурацію системи і команду

запускає Midnight Commander.

За допомогою команди
adduser
створимо користувача з ім'ям
user
обов'язково додамо його в групу wheel. Відредагуємо за допомогою клавіші f4 файл /etc/rc.conf вкажемо в ньому

Запускаємо службу sshd по команді

або, якщо вже запущено

після перезапуску системи ми можемо перевірити настройку командою
ifconfig
статуси повинні бути активні, при цьому важливо! Підмережею мережевої карти Lan1 і Lan2 повинні відрізнятися. наприклад мережева карта Lan1 192.168.2.5 а мережева карта Lan2 192.168.4.3.
Для зручності адміністрування сервера через web інтерфейс, необхідно встановити пакет webmin. Для цього переходимо по комманде
cd / usr / ports / sysutils / webmin
далі вводимо комманду
make install
Після установки webmin стартуємо по комманде
/usr/local/lib/webmin/setup.sh
Тут важливо вказати номер порту, наприклад 10000, ім'я та логін для адміністратора. Webmin використовує своїх користувачів ніяк не пов'язаних з користувачами в системі. Для запуску Webmin в конфігураційний файл /etc/rc.conf додаємо рядок

Для роботи з системою, системою створення архівів за розкладом нам буде потрібно встановити додатковий модуль до webmin для чого виконаємо комманду:

якщо на цьому етапі виникнуть проблеми, типу того що система при завантаженні модулів видасть щось на кшталт
Please enter your CPAN site: []
тоді слід зробити це

після чого ввести комманду


так ось в нього і слід вносити посилання. Далі встановлюємо додаткові модулі через webmin.


Для подальшої роботи сервера нам знадобиться dns сервер. У нашому випадку named або Bind. За замовчуванням Bind встановлюється разом з системою, проте важливо вказати в конфігураційному файлі

Подальша робота з BIND додавання і управління зонами може зручно здійснюватися через webmin.
Рекомендується встановити утиліту wget, вона за замовчуванням на freebsd не ставиться, її потрібно встановлювати окремо з колекції портів, встановити можна припомощи команди:

або зайти за вказаним шляхом в колекцію портів і встановити звідти. Згодом допоможе уникнути безліч прикрих ситуацій.
Для роботи наших сайтів нам буде потрібно встановити базу даних. У нашому випадку це mysql. Для установки перейдемо в каталог cd / usr / ports / databases / mysql55-server. Запустимо команду make install. Створимо директорію, де будуть зберігатися наші бази даних в нашому випадку це mkdir / usr / local / mysql. Встановимо на неї права доступу chown mysql: mysql / usr / local / mysql і chmod go-rwx / usr / local / mysql. Пропишемо шлях до бази даних в конфігураційний файл /etc/rc.conf mysql_dbdir = "/ usr / local / mysql", а також автостарт mysql при старті системи

Для управління mysql сервером ми можемо використовувати системний скрипт /usr/local/etc/rc.d/mysql-server start (stop, restart).
У деяких випадках mysql сервер незважаючи на відповідні поступки php.ini виводить символи псевдографіки замість кирилиці. В такому випадку можна змінити англомовні настройки за замовчуванням за допомогою створеного конфігураційного файлу /etc/my.cnf. Слід вписати в нього такі директиви
В розділ [client], після рядка:
port = 3306
Додайте рядок визначальний каталог з файлами опису кодувань:

В розділ [mysqld], після рядка:
port = 3306
Додайте наступні два рядки, перший з яких вам уже відома, друга - встановлює кодування в якому дані передаються MySQL:

Взагалі приклади конфігураційних файлів mysql в моєму випадку перебували тут "/ usr / local / share / mysql" всі файли з розширенням ".cnf" на різні випадки життя.
Приступаємо до налаштування www сервера. У нашому випадку це apache22. Для цього встановлюємо з колекції портів відповідний порт / usr / ports / www / apache22
комманда make install. Вибираємо стандартні параметри. Для автостарту apache прописуємо в файл /etc/rc.conf рядок

Редагуємо конфігураційний файл, який за замовчуванням знаходиться в /usr/local/etc/apache22/httpd.conf.


Необхідно визначитися з віртуальними хостами. Для цього у нас повинен бути файл etc / apache22 / extra / httpd-vhosts.conf в ньому налаштовується конфігурація віртуальних хостів, наприклад

Після редагування конфігураційних файлів apache перевіряємо відповідність синтаксису httpd -t, якщо результат виконання команду OK, то все в ньому нормально.
Тестування конфігурації віртуальних хостів здійснюється командою httpd -S.
Для управління web сервером apache вручну існує команда apachectl з ключами start, restart, stop, graceful. Нам буде потрібно ввести команду apachectl start, але спочатку введемо команду rehash.
Слід мати на увазі, що за замовчуванням Ваш web сервер може одночасно обробляти до 256 підключень, в тому випадку якщо це число буде перевищено, ви отримаєте відмову в обслуговуванні вашого сервера швидше за все на досить тривалий час і наступний запис в логах вашого сервера текст повідомлення: "server reached maxclients setting, consider raising maxclients setting". Рекомендується не чекати такої прикрої ситуації, яка може призвести до простою в роботі ваших сайтів, сервісів, розташованих на вашому сервері, а заздалегідь внести відповідні доп. настройки в конфігураційний файл вашого сервера httpd.conf

25. Для роботи наших сайтів нам знадобитися серверний мова скриптів php. Для установки перейдемо cd / usr / ports / lang / php5. сконфігуріруем перед установкою make config. Опція Apache має бути присутня обов'язково. Далі команда make install.
26. Тепер крім того, що було зроблено при установці автоматично в файлі конфігурації apache повинні бути присутніми наступні рядки

27. Для того, щоб apache знав для яких типів файлів запускати інтерпретатор php.
Слід перейменувати в каталозі / usr / local / etc конфігураційний файл php.ini_dist в php.ini. Далі необхідно відредагувати цей файл. Багато скрипти працюють на registr_global = On, бажано встановити цей параметр, він знаходиться в розділі DataHandling. Також для коректного виведення кодування з БД mysql там же необхідно вказати defaultcharset = "cp1251". Важливо встановити параметр роботи сесій, він встановлюється в розділі session шлях для зберігання сесій по замовчувань в нашому випадку це каталог "/ temp" встановити значення змінної session.save_path. Інші параметри висновок помилок на екран. Або в лог файл встановлювати в разі потреби.
Для того щоб застосувати зміни необхідно перезапустити наш web сервер.

29. Далі для роботи наших сайтів нам буде потрібно встановити розширення php. Для цього перейдемо в cd / usr / ports / lang / php5-extentions. Запустимо команду make config. Нам знадобляться опції BCMATH, CURL, GD, GETTEXT, ICONV, IMAP, FTP, MYSQL, MYSQLi, SESSION, PCRE, SOCKETS, ZLIB. Далі make install. Застосуємо результат apachectl restart. Оновимо сторінку в браузері.

30. Для завантаження наших сайтів на сервер нам знадобиться ftp доступ до каталогів зберігання сайтів. Для його активізації відкриємо файл /etc/inetd.conf і підключимо наступний рядок ініціалізації ftp stream tcp nowait root / usr / libexec / ftpd -l. Створимо файл / etc / ftpchroot, заповнимо його наступною інформацією
user / usr / local / www
При цьому у користувача user повинні бути відповідні права на зазначену папку. У конфігураційний файл /etc/rc.conf повинна бути додана наступна

Забороняти користувачеві доступ по ftp можна додаванням користувача в файл / etc / ftpusers.

31. Саме час встановити системний скрипт PhpMyadmin. Для цього перейдемо в cd / usr / ports / databases / phpmyadmin далі make config, PDF нам не потрібно, прибираємо. Далі make install. Після закінчення інсталяції в конфігураційний файл apache перед секцією

Додаємо наступну директиву

Ось що повинно вийти у нас в файлі конфігурації /etc/rc.conf:


У тому випадку, якщо Ви збираєтеся розділяти ресурси вашого сервера між різними, незалежними один від одного користувачами, Вам потрібно встановити панель управління хостингом. Ми пропонуємо безкоштовне і зручне для всіх рішення syscp - настройка установка панелі управління хостингом

Для подальшої успішної роботи з сайтами вам буде потрібно працююча в автоматичному режимі система створення архівів ваших каталогів і баз даних, причому архіви бажано зберігати на іншому хості. Не вдаючись в подробиці процедури збереження, вона досить проста завдяки webmin, повідомимо що вам буде потрібно установка утиліти ncftp з колекції портів, для цього

Для того щоб бути в курсі подій, що відбуваються на вашому сервері, вам буде потрібно система обліку статистики трафіку на вашому сервері. Має сенс встановити darkstat з колекції портів

далі в файлі конфігурації /etc/rc.conf потрібно вказати

Для подальшої роботи з сайтами буде потрібна система повідомлення про стан серверів. Ідея в тому, що наш сервер буде моніторити інші веб сервера, а інші веб сервера будуть моніторити наш веб сервер, якщо з якоїсь причини один з серверів випаде з мережі, нам прийде смс повідомлення, і буде приходити по одному разу в перебігу одного години. Для того щоб дізнатися подробиці, просимо звертатися подробиці ви можете прочитати тут Моніторинг серверів, серверів баз даних на працездатність

Команда видає розмір RAM в freeBSD
1. dmesg | grep memory
real memory = 536412160 (511 MB)
avail memory = 510902272 (487 MB)
де real memory пам'ять встановлена ​​реально, avail memory пам'ять доступна для використання системою.

команда
uname -a
покаже інформацію про систему, встановленому релізі, дату і час установки

Схожі статті