Возможно вы искали: 'Modern Naval Battles: ...'

May 15 2025 19:37:56
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Создание Web и почтового сервера во FreeBSD (web php apache freetds postfix)

Создание Web и почтового сервера во FreeBSD (web php apache freetds postfix)

Ключевые слова: web, php, apache, freetds, postfix, (найти похожие документы)

From: Григорьев Максим <kongo@towar.ru.>
Newsgroups: email
Date: Mon, 09 Feb 2009 17:02:14 +0000 (UTC)
Subject: Создание Web и почтового сервера во FreeBSD
-------------------

Создание вебсервера для php5 + apache2 + freetds 7.0 и почтового сервера
postfix/imap на одной машине

Заголовок: Возникла необходимость настроить в корпоративной сети
отдельную станцию на FreeBSD, для работы веб-сайта и почтового сервера.
Таким образом, чтобы

а)сайт полноценно обрабатывал и отображал данные в кириллице,
находящиеся на удалённом сервере mssql2005 в локальной сети

б) модуль php взаимодействовал с графическими библиотеками для чтения
редакции больших изображений изображений

в) сервер мог предоставлять различные права для работы с ftp различным
клиентам (системным пользователям).

Иными словами: Возникла необходимость на системе freebsd 6.3 доставить
следующие дистрибутивы (я выбрал такую последовательность):

1.openssl
2.freetds
3.apache2
4.postgresql
5.php5
6.postfix
7.ssh2
8.proftpd

источники :
http://opennet.ru/base/net/postfix_mail_guide.txt.html
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/
http://www.freetds.org/userguide/config.htm
http://wiki.centos.org/HowTos/postfix_restrictions

Установка оперативной системы FeeBSD-6.3.

Основы установки системы подробно описаны в документации на сайте http://freebsd.org
Там же скачивается дистрибутив.

Я ограничился минимальными конфигурациями для инсталяции:
Во всплывающих окнах инсталяционной программы указал :

Country Selection - Russian Federation
System Console Keymap - Russian KOI8-R
Sysinstall main menu - express


Выбираю нужный диск и форматирую его полностью автоматически, не
вдаваясь в сложности.

В окне 'Choose distributions' отмечаю опции :

Developer,Kern-developer, User


В окне choose installation media выбираю cd и нажимаю ок и ожидаю
поздравлений по завершении инсталяции, после чего отказываюсь от всех
дополнительных настроечных визитов, выхожу из программы инсталляции,
соглашаюсь с перезагрузкой и вынимаю диск.

Таким образом получаю систему с минимальными настройками

После перезагрузки ввожу логин: root и получаю полный доступ к
дальнейшей работе с системой freebsd.

Следующим действием мне необходимо

а)задать пароль для администратора root
б)ввести нового супер-пользователя, для работы в системе с корневыми допусками
в)прописать основные настройки, необходимые для дальнейших инсталляций.

Пароль для администратора root ввожу следующей командой:

# passwd root
New password: ******
Retype new password: ******


Ввожу нового пользователя коммандой:

# adduser
Username: kmg
Full name: kmg
Uid:
Login group [kmg]:
Default group is kmg.Invite kmg into other groups[]: wheel


(группа wheel наделяет пользователя kmg правами суперпользователя, под
которыми в дальнейшем будет проводиться инсталляции всех модулей)

После чего мне нужно только задать и поддтвердить пароль для нового
пользователя (все остальные настройки оставляем заданными по умолчанию).

Теперь нам необходимо прописаться в локальной сети ,открыть доступ к
интернету и назначить сервер имён.

Для этого
1) редактирую файл /etc/rc.conf с помощью утилиты ee

# ee /etc/rc.conf


и вписываю следующие строки

inetd_enable="YES"


выхожу из редакции и захожу в настроечный файл сервера inetd

# ee /etc/inetd.conf


мне необходимо запустить ftp службу для скачивания дополнительных
дистрибутивов в процессе инсталляции (с указанных мной локальных машин
или из интернета). Для этого я раскомментирую первую строку в данном
настроечном файле

ftp streem tcp nowait ..........


теперь при запуске системы у меня будет запущен сервер ftp
Выхожу из настройки inetd и проверяю свои сетевые интерфейсы коммандой:

# ifconfig


Узнаю, что кроме локального интерфейса lo0 у меня есть ещё сетевой адаптер realtec под именем rl0. Открываю редактором знакомый уже файл

# ee /etc/rc.conf


и прописываю локальный адрес для сетевой карты , адрес шлюза для выхода
в интернет (или данные, указанные провайдером, если машина напрямую
смотрит в интернет) и имя машины kmg.towar.ru (имеется доменное имя
towar.ru). Для этого добавляю строки

ifconfig_rl0="inet 192.168.0.2 netmask 255.255.255.0"
hostname="kmg.towar.ru"


сразу оговорюсь, что у меня провайдер выделяет нам кусок подсети из
нескольких внешних адресов, и настраивает обратную зону так, чтобы
обратная зона для одного внешнего адреса точно соответствовала названию
сайта http://www.towar.ru (необходимо ,например, если apache запускается
с поддержкой ssl), а обратная зона другого врешнего адреса соответсвовала
хосту почтового сервера mail.towar.ru, который находится на этой же
машине ( это для того, чтоб очень строгие сервера
могли не находили изьян при проверке соответствий данных протокола
smtp). Таким образом мне нужно прописать на тот же сетевой интерфейс
ещё 2 внешних ip и попросить провайдера прописать на эти ip имена
хостов в обратной зоне

ifconfig_rl0_alias0="xxx.xxx.xxx.xxx netmask 255.255.255.248"
ifconfig_rl0_alias1="xxx.xxx.xxx.xxx netmask 255.255.255.248"


выхожу из редактора и редактирую файл для запроса к серверу имён

# ee /etc/resolv.conf


(скорее всего такого файла пока нет - редактор его создаст) у меня есть
собственный dns server, у кого его нет - должен указать адреса, данные
провайдером

domain towar.ru
nameserver 192.168.0.1


Перезагружаю машину и вхожу под пользователем kmg, после чего коммандой
su и указанием пароля для root становлюсь суперпользователем и могу
продолжать инсталляцию (не забывая, однако, пропинговать что нибудь
вроде yandex.ru, чтобы убедиться в правильности сетевых настроек и
доступов).


Убеждаюсь, что у нас существуют директории /usr/src/sys /usr/ports

если их не существует, то вставляю первый (у меня и единственный)
инсталляционный диск freebsd и запускаю комманду

# sysinstall


в инсталляционном окне нажимаю

Configure


следом - distributions
потом отмечаю - ports
потом - на всякий случай - src - all

(существуют более обоснованные и последовательные методы работы с
портами и исходными файлами , но для этого определяются задачи, отличные
от тех, которые я указал в начале статьи)

Для дальнейшего удобства я решил поставить текстовый редактор deco,
утилиту sudo (для работы с такими программами posgresql из оболочки nologin)
и утилиту gmake.
Ставится она просто из потров

cd /usr/ports/misc/deco && make install clean
cd /usr/ports/security/sudo && make install clean
cd /usr/ports/devels/gmake && make install clean


Все конфигурационные опции - по умолчанию


Установка OPENSSL

Для того, чтоб не углубляться в конфигурации последующих дистрибутивов
со своими дополнительными указаниями или исправлениями я решил в самом
начале поставить openssl (после некоторых безуспешных попыток выполнить
свои задачи в другом порядке инсталляций).

cd /usr/ports/security/openssl
make OPENSSL_OVERWRITE_BASE=yes install


Установка FREETDS
-----------------

Необходим прежде всего для связки php5 и удалённого сервера mysql. Тут
нужно внимательно изучить возможности конфигурации php5 и freetds для
того, чтобы можно было отображать и правильно редактировать большие
тексты в кириллице на сервере mssql2005 через веб - интерфейс.

Такие как например карточка ростовской фирмы music_star http://towar.ru/ff/sfi~34923_48_138/sk~no-no/s1~/sg~1
или объявление китайских поставщиков http://www.towar.ru/bull~1044
конфигурации php-5.2.5 требуют следующего:

./configure -with-apxs2=/usr/local/apache2/bin/apxs --with-mssql=/usr/local/freetds
--with-pgsql=/usr/local --with-gettext=/usr/local --with-iconv-dir=/usr/local
--with-libxml-dir=/usr/local --with-gd=/usr/local --with-zlib
--with-freetype-dir=/usr/local --enable-gd-native-ttf --with-jpeg-dir=/usr/local
--with-png-dir=/usr/local --with-ttf=/usr/local --enable-sockets


нахожу в интернете файл php-5.2.5.tar.gz распаковываю, захожу в
директорию и читаю внимательно ./configure -help | grep (всё что
касается mssql, текстов, конвертеров, чарсетов, odbs и всего
сопутсовующего добра), так как мне необходимо сконфигурировать
freetds протокола не ниже 7.0 http://www.freetds.org/userguide/choosingtdsprotocol.htm
и задать в последующей конфигурации параметр

client charset = cp1251


Приступаю к установке freetds
1)нахожу и скачиваю freetds-0.64.tar.gz распаковываю

tar zxvf freetds-0.64.tar.gz


захожу - cd freetds-0.64

2) читаю конфигурации ./configure --help, одновременно сверяясь с описанием
http://www.freetds.org/userguide/config.htm

3)конфигурирую

./configure


предпочитаю держать все файлы в отдельной папке

--prefix=/usr/local/freetds


так же добавляю опции

--with-libiconv-prefix=/usr/local


(убеждаюсь, что библиотеки iconv мне необходимы как для php5, так и для
freetds) поэтому иду в порт и ставлю заранее

cd /usr/ports/converters/iconv && make install clean
/* cd /usr/ports/converters/libiconv && make install clean */
--with-tdsver-7.0
--with-unixodbc=/usr/local


(заранее инсталлирую из портов cd /usr/ports/databases/unixODBC && make install)

--enable-msdblib
/* --enable-sybase-compat */


4)make

make install


5)Проверяю:

/usr/local/freetds/bin/tsql -S 192.168.0.5 -p 1433 -U *** -P ******


Пока работает - несколько команд t - sql - читаю каракули с небольшой
тестовой таблицы, выхожу командой quit

6) изменяю конфигурации :
захожу в редактор deco и нахожу файл /usr/local/freetds/etc/freetds.conf
нахожу опцию [global] - меняю версию

tds version = 7.0
client charset = CP1251


повторяю проверку согласно пункту 5 - получаю знаки вопроса вместо
кириллицы - не смущаюсь - выхожу и приступаю к следующей настройке


Установка APACHE2

сервер httpd я устанавливаю в отдельную директорию - /usr/local/apache2
(в случае неудачи или невнимательности - я просто удаляю данную
директорию и инсталлирую заново)

1) нахожу скачиваю и распаковываю файл

tar zxvf httpd-0.61.tar.bz2


2) захожу в созданную директорию и конфигурирую

Опытным путём я заключил, что решения вышеуказанных задач подойдут
следующие конфигурации.

./configure --prefix=/usr/local/apache2 --enable-cgi --enable-rewrite
--enable-so --enable-shared=max


3)make

make install


4)и соответственно запускаю

/usr/local/apache2/bin/apachectl start


5)захожу снаружи по ip http://192.168.0.2 и получаю дефолтовое
приветствие сервера apache
Теперь нужно сделать стартовый файл для сервера apache
для этого я захожу в директорию

cd /usr/local/etc/rc.d


создаю и редактирую файл

ee apache.sh


где пишу следующие строки

#!/bin/sh
case "$1" in
start)
/usr/local/apache2/bin/apachectl start
;;
stop)
/usr/local/apache2/bin/apachectl stop
;;
esac
exit 0


обращаем данный файл в исполняемую программу

chmod +x apache.sh


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

ee /etc/rc.conf и добавляем туда строку
apache_enable="YES" - перезагружаем сервер и проверяем запущен ли apache
ps -ax|grep httpd


Установка POSTGRESQL

Установку и настройку базы данных postgresql я выполнил почти в
соответсвии с рекоммендациями данной статьи http://opennet.ru/base/net/postfix_mail_guide.txt.html

cd /usr/ports/databases/postgresql80-server
make install


конфигурации по умолчанию

ee /etc/passwd


нахожу строку с пользователем pgsql и меняем оболочку /bin/sh на /usr/sbin/nologin
следующей коммандой запускаю первичную инициализацию базы данных

sudo -u pgsql initdb -D /uasr/local/pgsql/data


создаю редактором стартовый файл

cd /usr/local/etc/rc.d
ee postgresql.sh


в него заношу следующие строки

#!/bin/sh
echo "POSTGRESQL" $1
/usr/local/bin/sudo -u pgsql /usr/local/bin/pg_ctl -D /usr/local/pgsql/data $1
exit


обращаем данный файл в исполняемую программу

chmod +x postgresql.sh


перезапускаю машину и проверяю как работают процессы apache и postgresql

если всё работает - можно приступать к следующей ступени


УстановкаPHP5

задача - удачно сконфигурировать php примерно так:

./configure
--with-apxs2=/usr/local/apache2/bin/apxs


сервер apache2 был сконфигурирован с параметром -enable-so
проверяю ldd /usr/local/apache2/bin/httpd

--with-mssql=/usr/local/freetds


установлен

--with-pgsql=/usr/local


установлен

--with-gettext=/usr/local


проверяю свои подозрения, что библиотека gettext уже имеется

cd /usr/local/lib
ls *text*


получаю список

--with-iconv-dir=/usr/local


установлен ранее

--with-libxml-dir=/usr/local


иду и устанавливаю cd /usr/ports/textproc && make install clean

---with-gd=/usr/local


устанавливаю cd /usr/ports/grephics/gd && make config &&
выбираю опции: X11, FONTCONFIG,ICONV, make install clean

--with-zlib
--with-ttf
--enable-gd-native-ttf

--with-jpeg-dir=/usr/local


устанавливаю cd /usr/ports/graphics/jpeg && make install clean

--with-png-dir=/usr/local


устанавливаю cd /usr/ports/graphics/png && make install clean

--enable-sockets

make && make install


О настройке самой связки postgresql+postfix+imap по моему удачно
написано здесь: http://opennet.ru/base/net/postfix_mail_guide.txt.html

хотя каждую ступеть пришлось последовательно тестировать и изменять,
подгонять под свои системные требования.

И ещё
О правилах ограничения smtp в настройках postfix для работы в
глобальной сети ничего проще и доступнее пока не находил чем тут http://wiki.centos.org/HowTos/postfix_restrictions

PS. ssh2 и proftpd я поставил из портов в самую последнюю очередь -
после того как машина была полностью подготовлена и прописана по сетевым
интерфейсам
1077 Прочтений •  [Создание Web и почтового сервера во FreeBSD (web php apache freetds postfix)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Создание Web и почтового сервера во... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка