Меню

apache virtualhost настройка freebsd

Apache virtualhost настройка freebsd

В этой статье рассмотрим настройку виртуальных хостов web-сервера Apache на ОС FreeBSD 9.1. Это позволит нам создать несколько сайтов на одном сервере. Для этого нам понадобится следующее настроенный Web-сервер на ОС FreeBSD 9.1 совместно с FTP-сервером (все службы на одном сервере).

У нас имеется доменное имя localserver12.ru (будем использовать как основное), а также localserver34.ru и localserver56.ru. Наша задача – поднять такие имена:

  • www.localserver12.ru
  • subdomain.localserver12.ru (субдомен для второго сайта)
  • pma.localserver12.ru (субдомен для phpMyAdmin)
  • webserver.localserver12.ru (субдомен, по умолчанию для самого сервера)
  • www.localserver34.ru
  • subdomain.localserver34.ru
  • www.localserver56.ru
  • subdomain.localserver56.ru

Как настроить Web-сервер, можно посмотреть здесь. Как настроить FTP-сервер vsFTPd – здесь, а ProFTPd – здесь. Настроить на FTP-сервере нужно будет только пользователя webmaster, остальных пользователей необходимости нет.

Также в DNS-сервер необходимо будет внести соответствующие A-записи. Если DNS необходимо настроить на своей территории, то можно воспользоваться любой из этих статей (в зависимости от используемой операционной системы):

Первым делом – открываем файл /usr/local/etc/apache22/httpd.conf и выполняем действия:

3) Проверяем, чтобы было не закомментировано:

4) Находим DirectoryIndex и допишем чего не хватает:

DirectoryIndex index.php index.html index.htm index.shtml

5) Раскомментируем строчку:

6) Добавляем в конец файла строчку (если её нет):

источник

Apache virtualhost настройка freebsd

FreeBSD ЙУРПМШЪХЕФУС Ч ЛБЮЕУФЧЕ РМБФЖПТНЩ ДМС НОПЗЙИ ЙЪ УБНЩИ ОБЗТХЦЕООЩИ УЕТЧЕТПЧ Ч НЙТЕ. вПМШЫЙОУФЧП УЕТЧЕТПЧ Ч ЙОФЕТОЕФ ЙУРПМШЪХАФ Apache HTTP УЕТЧЕТ . рБЛЕФЩ Apache ДПМЦОЩ ВЩФШ ЧЛМАЮЕОЩ Ч РПУФБЧЛХ FreeBSD. еУМЙ ЧЩ ОЕ ХУФБОПЧЙМЙ ЙИ ЧП ЧНЕУФЕ У УЙУФЕНПК, ЧПУРПМШЪХКФЕУШ РПТФБНЙ www/apache13 ЙМЙ www/apache22.

лБЛ ФПМШЛП Apache ВЩМ ХУРЕЫОП ХУФБОПЧМЕО, ЕЗП ОЕПВИПДЙНП ОБУФТПЙФШ.

рТЙНЕЮБОЙЕ:

ч ЬФПН ТБЪДЕМЕ ТБУУЛБЪЩЧБЕФУС П ЧЕТУЙЙ 1.3.X Apache HTTP УЕТЧЕТБ , РПУЛПМШЛХ ЬФБ ЧЕТУЙС ОБЙВПМЕЕ ЫЙТПЛП ЙУРПМШЪХЕФУС Ч FreeBSD. Apache љ2.X УПДЕТЦЙФ НОПЗП ОПЧЩИ ФЕИОПМПЗЙК, ОП ЪДЕУШ ПОЙ ОЕ ПВУХЦДБАФУС. ъБ ДПРПМОЙФЕМШОПК ЙОЖПТНБГЙЕК П Apache љ2.X, ПВТБЭБКФЕУШ Л http://httpd.apache.org/ .

25.7.2. оБУФТПКЛБ

ч FreeBSD ПУОПЧОПК ЖБКМ ОБУФТПКЛЙ Apache HTTP УЕТЧЕТБ ХУФБОБЧМЙЧБЕФУС Ч /usr/local/etc/apache/httpd.conf . ьФП ПВЩЮОЩК ФЕЛУФПЧЩК UNIX (R) ЖБКМ ОБУФТПКЛЙ У УФТПЛБНЙ ЛПННЕОФБТЙЕЧ, ОБЮЙОБАЭЙНЙУС У УЙНЧПМБ # . йУЮЕТРЩЧБАЭЕЕ ПРЙУБОЙЕ ЧУЕИ ЧПЪНПЦОЩИ РБТБНЕФТПЧ ОБУФТПКЛЙ ОБИПДЙФУС ЪБ РТЕДЕМПН ТБУУНПФТЕОЙС ЬФПК ЛОЙЗЙ, РПЬФПНХ ЪДЕУШ ВХДХФ ПРЙУБОЩ ФПМШЛП ОБЙВПМЕЕ ЮБУФП НПДЙЖЙГЙТХЕНЩЕ ДЙТЕЛФЙЧЩ.

хЛБЪЩЧБЕФ ЧЕТИОЙК ЛБФБМПЗ ХУФБОПЧЛЙ Apache РП ХНПМЮБОЙА. вЙОБТОЩЕ ЖБКМЩ ОБИПДСФУС Ч bin Й sbin , РПДЛБФБМПЗЙ ТБУРПМПЦЕОЩ ПФОПУЙФЕМШОП ЛПТОЕЧПЗП ЛБФБМПЗБ УЕТЧЕТБ, ЖБКМЩ ОБУФТПКЛЙ ОБИПДСФУС Ч etc/apache .

бДТЕУ, ОБ ЛПФПТЩК ДПМЦОЩ ВХДХФ ПФРТБЧМСФШУС УППВЭЕОЙС П РТПВМЕНБИ У УЕТЧЕТПН. ьФПФ БДТЕУ ЧЩЧПДЙФУС ОБ ОЕЛПФПТЩЕ ЗЕОЕТЙТХЕНЩЕ УЕТЧЕТПН УФТБОЙГЩ, ОБРТЙНЕТ У УППВЭЕОЙСНЙ ПВ ПЫЙВЛБИ.

ServerName РПЪЧПМСЕФ ЧБН ХУФБОБЧМЙЧБФШ ЙНС ИПУФБ, ЛПФПТПЕ ПФРТБЧМСЕФУС ПВТБФОП ЛМЙЕОФБН, ЕУМЙ ПОП ПФМЙЮБЕФУС ПФ ФПЗП, У ЛПФПТЩН ОБУФТПЕО ИПУФ (ОБРТЙНЕТ, ЙУРПМШЪПЧБОЙЕ www ЧНЕУФП ТЕБМШОПЗП ЙНЕОЙ ИПУФБ).

DocumentRoot : лБФБМПЗ, ЧОХФТЙ ЛПФПТПЗП ВХДХФ ИТБОЙФШУС ДПЛХНЕОФЩ. рП ХНПМЮБОЙА, ЧУЕ ЪБРТПУЩ ПВТБВБФЩЧБАФУС ЧОХФТЙ ЬФПЗП ЛБФБМПЗБ, ОП УЙНЧПМЙЮЕУЛЙЕ УУЩМЛЙ Й УЙОПОЙНЩ НПЗХФ ЙУРПМШЪПЧБФШУС ДМС ХЛБЪБОЙС ОБ ДТХЗЙЕ ЛБФБМПЗЙ.

иПТПЫЕК ЙДЕЕК ВХДЕФ УДЕМБФШ ТЕЪЕТЧОЩЕ ЛПРЙЙ ОБУФТПЕЛ Apache РЕТЕД ЧОЕУЕОЙЕН ЙЪНЕОЕОЙК. лБЛ ФПМШЛП ЧЩ ВХДЕФЕ ХДПЧМЕФЧПТЕОЩ РЕТЧПОБЮБМШОПК ОБУФТПКЛПК, НПЦОП ЪБРХУЛБФШ Apache .

25.7.3. ъБРХУЛ Apache

Apache ОЕ ЪБРХУЛБЕФУС ЙЪ inetd , ЛБЛ ЬФП ДЕМБАФ НОПЗЙЕ ДТХЗЙЕ УЕФЕЧЩЕ УЕТЧЕТЩ. пО ОБУФТПЕО ДМС БЧФПОПНОПЗП ЪБРХУЛБ, ЮФПВЩ ПВЕУРЕЮЙЧБФШ ВПМШЫХА РТПЙЪЧПДЙФЕМШОПУФШ РТЙ ПВТБВПФЛЕ HTTP ЪБРТПУПЧ ПФ ВТБХЪЕТПЧ ЛМЙЕОФПЧ. дМС ХРТПЭЕОЙС ЪБРХУЛБ, ПУФБОПЧЛЙ Й РЕТЕЪБРХУЛБ УЕТЧЕТБ УХЭЕУФЧХЕФ shell УЛТЙРФ. дМС ЪБРХУЛБ Apache Ч РЕТЧЩК ТБЪ РТПУФП ЧЩРПМОЙФЕ:

чЩ НПЦЕФЕ ПУФБОПЧЙФШ УЕТЧЕТ Ч МАВПК НПНЕОФ, ЧЩРПМОЙЧ:

рПУМЕ ЧОЕУЕОЙС МАВЩИ ЙЪНЕОЕОЙК Ч ЖБКМ ОБУФТПЕЛ, ЧБН РПФТЕВХЕФУС РЕТЕЪБРХУФЙФШ УЕТЧЕТ:

дМС РЕТЕЪБРХУЛБ Apache ВЕЪ РТЕТЩЧБОЙС ЙНЕАЭЙИУС УПЕДЙОЕОЙК, ЧЩРПМОЙФЕ:

дПРПМОЙФЕМШОБС ЙОЖПТНБГЙС ОБИПДЙФУС ОБ УФТБОЙГЕ УРТБЧПЮОПЗП ТХЛПЧПДУФЧБ apachectl (8) .

дМС ЪБРХУЛБ Apache РТЙ УФБТФЕ УЙУФЕНЩ, ДПВБЧШФЕ Ч /etc/rc.conf УМЕДХАЭХА УФТПЛХ:

еУМЙ ЧЩ ИПФЙФЕ РЕТЕДБФШ РТПЗТБННЕ Apache httpd ДПРПМОЙФЕМШОЩЕ РБТБНЕФТЩ ЛПНБОДОПК РТЙ ЪБЗТХЪЛЕ УЙУФЕНЩ, ПОЙ НПЗХФ ВЩФШ РПНЕЭЕОЩ Ч ДПРПМОЙФЕМШОХА УФТПЛХ rc.conf :

фЕРЕТШ, ЛПЗДБ ЧЕВ УЕТЧЕТ ЪБРХЭЕО, ЧЩ НПЦЕФЕ РТПУНПФТЕФШ УЧПК ЧЕВ УБКФ, ЪБДБЧ Ч УФТПЛЕ ВТБХЪЕТБ БДТЕУ http://localhost/ . рП ХНПМЮБОЙА ПФПВТБЦБЕФУС ЧЕВ УФТБОЙГБ /usr/local/www/data/index.html .

25.7.4. чЙТФХБМШОЩК ИПУФЙОЗ

Apache РПДДЕТЦЙЧБЕФ ДЧБ ТБЪМЙЮОЩИ ФЙРБ ЧЙТФХБМШОПЗП ИПУФЙОЗБ (Virtual Hosting). рЕТЧЩК НЕФПД ПУОПЧБО ОБ ЙНЕОБИ (Name-based Virtual Hosting). пО ЙУРПМШЪХЕФ РПМХЮЕООЩЕ ПФ ЛМЙЕОФБ ЪБЗПМПЧЛЙ HTTP/1.1 ДМС ПРТЕДЕМЕОЙС ЙНЕОЙ ИПУФБ. ьФП РПЪЧПМСЕФ НОПЗЙН ТБЪМЙЮОЩН ДПНЕОБН ЙУРПМШЪПЧБФШ ПДЙО Й ФПФ ЦЕ IP БДТЕУ.

дМС ОБУФТПКЛЙ Apache ОБ ЙУРПМШЪПЧБОЙЕ ЬФПЗП ФЙРБ ИПУФЙОЗБ ДПВБЧШФЕ Ч httpd.conf ЪБРЙУШ РПДПВОХА УМЕДХАЭЕК:

еУМЙ ЧЕВ УЕТЧЕТ ОБЪЩЧБМУС www.domain.tld Й ЧЩ ИПФЙФЕ ОБУФТПЙФШ ЧЙТФХБМШОЩК ДПНЕО ДМС www.someotherdomain.tld , ОЕПВИПДЙНП ДПВБЧЙФШ Ч httpd.conf УМЕДХАЭЙЕ ЪБРЙУЙ:

ъБНЕОЙФЕ БДТЕУБ Й РХФЙ Л ДПЛХНЕОФБН ОБ ФЕ, ЮФП ЧЩ ВХДЕФЕ ЙУРПМШЪПЧБФШ.

ъБ ДПРПМОЙФЕМШОПК ЙОЖПТНБГЙЕК РП ОБУФТПКЛЕ ЧЙТФХБМШОЩИ ИПУФПЧ ПВТБЭБКФЕУШ Л ПЖЙГЙБМШОПК ДПЛХНЕОФБГЙЙ Apache : http://httpd.apache.org/docs/vhosts/ .

25.7.5. нПДХМЙ Apache

уХЭЕУФЧХАФ НОПЦЕУФЧП ТБЪМЙЮОЩИ НПДХМЕК Apache , ЛПФПТЩЕ ДПВБЧМСАФ ЖХОЛГЙПОБМШОПУФШ Л ПУОПЧОПНХ УЕТЧЕТХ. лПММЕЛГЙС РПТФПЧ FreeBSD РТЕДПУФБЧМСЕФ РТПУФПК УРПУПВ ХУФБОПЧЛЙ Apache У ОЕЛПФПТЩНЙ ОБЙВПМЕЕ РПРХМСТОЩНЙ ДПРПМОЙФЕМШОЩНЙ НПДХМСНЙ.

25.7.5.1. mod_ssl

нПДХМШ mod_ssl ЙУРПМШЪХЕФ ВЙВМЙПФЕЛХ OpenSSL ДМС УЙМШОПК ЛТЙРФПЗТБЖЙЙ ЮЕТЕЪ РТПФПЛПМЩ Secure Sockets Layer (SSL v2/v3) Й Transport Layer Security (TLS v1). ьФПФ НПДХМШ УПДЕТЦЙФ ЧУЕ ОЕПВИПДЙНПЕ ДМС ЪБРТПУБ РПДРЙУБООПЗП УЕТФЙЖЙЛБФБ ЙЪ ГЕОФТБ УЕТФЙЖЙЛБГЙЙ ДМС ЪБЭЙЭЕООПЗП ЧЕВ УЕТЧЕТБ ОБ FreeBSD.

еУМЙ ЧЩ ЕЭЕ ОЕ ХУФБОПЧЙМЙ Apache , ЧЕТУЙС Apache 1.3.X У mod_ssl НПЦЕФ ВЩФШ ХУФБОПЧМЕОБ ЮЕТЕЪ РПТФ www/apache13-modssl. рПДДЕТЦЛБ SSL ФБЛЦЕ ДПУФХРОБ ДМС Apache љ2.X ЮЕТЕЪ РПТФ www/apache22, ЗДЕ ПОБ ЧЛМАЮЕОБ РП ХНПМЮБОЙА.

25.7.5.2. Apache Й УЛТЙРФПЧЩЕ СЪЩЛЙ

дМС ВПМШЫЙОУФЧБ УЛТЙРФПЧЩИ СЪЩЛПЧ УПЪДБОЩ НПДХМЙ Apache. оБ ВБЪЕ ФБЛЙИ НПДХМЕК ЧПЪНПЦОП УПЪДБОЙЕ ДТХЗЙИ НПДХМЕК Apache, ОБРЙУБООЩИ РПМОПУФША ОБ УЛТЙРФПЧПН СЪЩЛЕ. пОЙ ФБЛЦЕ ЮБУФП ЙУРПМШЪХАФУС ЛБЛ ЧУФТПЕООЩЕ Ч УЕТЧЕТ ЙОФЕТРТЕФБФПТЩ, ЮФП ЙУЛМАЮБЕФ ОБЛМБДОЩЕ ТБУИПДЩ ОБ ЪБРХУЛ ЧОЕЫОЕЗП ЙОФЕТРТЕФБФПТБ Й УПЛТБЭБЕФ ЧТЕНС РПУФТПЕОЙС ДЙОБНЙЮЕУЛЙИ УФТБОЙГ.

25.7.6. рПУФТПЕОЙЕ ДЙОБНЙЮЕУЛЙИ УБКФПЧ

ч РПУМЕДОЕЕ ДЕУСФЙМЕФЙЕ ЧУЕ ВПМШЫЕЕ ЮЙУМП ЛПНРБОЙК ПВТБЭБЕФ ЧОЙНБОЙЕ ОБ йОФЕТОЕФ ЛБЛ РМПЭБДЛХ ДМС ЧЕДЕОЙС Й ТБУЫЙТЕОЙС ВЙЪОЕУБ. уТЕДЙ РТПЮЕЗП, ЬФПФ РТПГЕУУ РПДЮЕТЛЙЧБЕФ РПФТЕВОПУФШ Ч ЙОФЕТБЛФЙЧОПН УПДЕТЦЙНПН УБКФПЧ. оЕЛПФПТЩЕ ЛПНРБОЙЙ, ФБЛЙЕ ЛБЛ Microsoft (R), РТЕДУФБЧМСАФ УЧПЙ ЪБЛТЩФЩЕ ТЕЫЕОЙС; УППВЭЕУФЧП ТБЪТБВПФЮЙЛПЧ ПФЛТЩФЩИ РТПЗТБНН ПФЧЕЮБЕФ ОБ ЧЩЪПЧ. уТЕДЙ УПЧТЕНЕООЩИ ТЕЫЕОЙК ДМС РТЕДПУФБЧМЕОЙС ДЙОБНЙЮЕУЛПЗП ЛПОФЕОФБ УМЕДХЕФ ПФНЕФЙФШ Django, Ruby on Rails, mod_perl Й mod_php .

25.7.6.1. Django

Django — ЬФП ТБУРТПУФТБОСЕНБС РПД МЙГЕОЪЙЕК BSD ЙОЖТБУФТХЛФХТБ, РПЪЧПМСАЭБС ТБЪТБВПФЮЙЛБН ВЩУФТП УПЪДБЧБФШ ЬМЕЗБОФОЩЕ, ЧЩУПЛПРТПЙЪЧПДЙФЕМШОЩЕ ЧЕВ-РТЙМПЦЕОЙС. пОБ РТЕДПУФБЧМСЕФ Ч ТБУРПТСЦЕОЙЕ ТБЪТБВПФЮЙЛБ ПВЯЕЛФОП-ТЕМСГЙПООПЕ ПФПВТБЦЕОЙЕ (object-relational mapper), ФБЛЙН ПВТБЪПН ФЙРЩ ДБООЩИ ТБЪТБВБФЩЧБАФУС ЛБЛ ПВЯЕЛФЩ Python. дМС ЬФЙИ ПВЯЕЛФПЧ РТЕДПУФБЧМСЕФУС ВПЗБФЩК ЙОФЕТЖЕКУ ДПУФХРБ Л ВБЪБН ДБООЩИ, РТЙ ЬФПН Х ТБЪТБВПФЮЙЛБ ОЕ ЧПЪОЙЛБЕФ ОЕПВИПДЙНПУФЙ ОБРЙУБОЙС SQL-ЪБРТПУПЧ. Django ФБЛЦЕ РТЕДПУФБЧМСЕФ ТБУЫЙТСЕНХА УЙУФЕНХ ЫБВМПОПЧ, ФБЛ ЮФП МПЗЙЛБ РТЙМПЦЕОЙС ПФДЕМЕОБ ПФ ЕЗП HTML-РТЕДУФБЧМЕОЙС.

дМС Django ФТЕВХАФУС УМЕДХАЭЙЕ ЛПНРПОЕОФЩ: mod_python , Apache Й ПДОБ ЙЪ ОЕУЛПМШЛЙИ ЧПЪНПЦОЩИ SQL ухвд. хЛБЦЙФЕ УППФЧЕФУФЧХАЭЙЕ ПРГЙЙ УВПТЛЙ, Й РПТФ ХУФБОПЧЙФ ЧУЈ ОЕПВИПДЙНПЕ.

рПУМЕ ХУФБОПЧЛЙ Django Й ЧУЕИ ОЕПВИПДЙНЩИ ЕНХ ЛПНРПОЕОФПЧ ЧБН РПФТЕВХЕФУС УПЪДБФШ ЛБФБМПЗ ДМС РТПЕЛФБ Django. дБМЕЕ РПФТЕВХЕФУС ОБУФТПЙФШ Apache ДМС ПРТЕДЕМЕООЩИ URL БДТЕУПЧ ОБ ЧБЫЕН УБКФЕ ЧЩРПМОСФШ ЧБЫЕ РТЙМПЦЕОЙЕ ЧУФТПЕООЩН ЙОФЕТРТЕФБФПТПН Python.

юФПВЩ ОБУФТПЙФШ Apache ПФРТБЧМСФШ ЪБРТПУЩ ДМС ПРТЕДЕМЕООЩИ URL БДТЕУПЧ ЧБЫЕНХ ЧЕВ-РТЙМПЦЕОЙА, ЧБН РПФТЕВХЕФУС ЧОЕУФЙ ОЕУЛПМШЛП УФТПЛ Ч ЛПОЖЙЗХТБГЙПООЩК ЖБКМ httpd.conf :

25.7.6.2. Ruby on Rails

Ruby on Rails ЬФП ЕЭЕ ПДОБ ЧЕВ ЙОЖТБУФТХЛФХТБ У ПФЛТЩФЩН ЙУИПДОЩН ЛПДПН, ЛПФПТБС РТЕДПУФБЧМСЕФ РПМОЩК УФЕЛ ТБЪТБВПФЛЙ Й ЛПФПТБС ПРФЙНЙЪЙТПЧБОa ДМС РТПДХЛФЙЧОПЗП Й ВЩУФТПЗП УПЪДБОЙС НПЭОЩИ ЧЕВ-РТЙМПЦЕОЙК. Ruby on Rails НПЦЕФ ВЩФШ МЕЗЛП ХУФБОПЧМЕОБ ЙЪ ЛПММЕЛГЙЙ РПТФПЧ.

25.7.6.3. mod_perl

рТПЕЛФ ЙОФЕЗТБГЙЙ Apache /Perl ПВЯЕДЙОСЕФ НПЭШ СЪЩЛБ РТПЗТБННЙТПЧБОЙС Perl Й HTTP УЕТЧЕТБ Apache . у НПДХМЕН mod_perl ЧПЪНПЦОП ОБРЙУБОЙЕ НПДХМЕК Apache РПМОПУФША ОБ Perl. лТПНЕ ФПЗП, РПУФПСООП ЪБРХЭЕООЩК ЧУФТПЕООЩК Ч УЕТЧЕТ ЙОФЕТРТЕФБФПТ РПЪЧПМСЕФ ОЕ ФТБФЙФШ ТЕУХТУЩ ОБ ЪБРХУЛ ЧОЕЫОЕЗП ЙОФЕТРТЕФБФПТБ Й ЧТЕНС ОБ ЪБРХУЛ Perl.

mod_perl НПЦОП ЙУРПМШЪПЧБФШ ТБЪМЙЮОЩНЙ УРПУПВБНЙ. рПНОЙФЕ, ЮФП mod_perl 1.0 ТБВПФБЕФ ФПМШЛП У Apache 1.3, ФПЗДБ ЛБЛ mod_perl 2.0 УПЧНЕУФЙН ФПМШЛП У Apache 2.X. mod_perl 1.0 ДПУФХРЕО ЛБЛ РПТФ www/mod_perl, Б ФБЛЦЕ Ч ЧЙДЕ УФБФЙЮЕУЛЙ УЛПНРЙМЙТПЧБООПК ЧЕТУЙЙ Ч www/apache13-modperl. mod_perl 2.0 ДПУФХРЕО ЛБЛ www/mod_perl2.

25.7.6.4. mod_php

PHP, ФБЛЦЕ ЙЪЧЕУФОЩК ЛБЛ рТЕРТПГЕУУПТ ЗЙРЕТФЕЛУФБ >> ( Hypertext Preprocessor >> ), — ЬФП УЛТЙРФПЧЩК СЪЩЛ ПВЭЕЗП ОБЪОБЮЕОЙС, Ч ПУОПЧОПН РТЕДОБЪОБЮЕООЩК ДМС ЧЕВ ТБЪТБВПФЛЙ. ьФПФ СЪЩЛ НПЦЕФ ВЩФШ ЧУФТПЕО Ч HTML , ЕЗП УЙОФБЛУЙУ ЪБЙНУФЧПЧБО ЙЪ C, Java TM Й Perl, Й ПО РПЪЧПМСЕФ ЧЕВ ТБЪТБВПФЮЙЛБН ВЩУФТП РЙУБФШ ДЙОБНЙЮЕУЛЙ ЗЕОЕТЙТХЕНЩЕ УФТБОЙГЩ.

еУМЙ РПТФ lang/php5 ХУФБОБЧМЙЧБЕФУС ЧРЕТЧЩЕ, ФП БЧФПНБФЙЮЕУЛЙ ПФПВТБЪСФУС ЧУЕ ДПУФХРОЩЕ ПРГЙЙ ( OPTIONS ). еУМЙ НЕОА ОЕ ПФПВТБЦБЕФУС, ФБЛ ЛБЛ РПТФ lang/php5 ХУФБОБЧМЙЧБМУС ТБОЕЕ, ЧУЕЗДБ НПЦОП РПЧФПТОП ЧЩЪЧБФШ ДЙБМПЗ НЕОА ЧЩРПМОЙЧ УМЕДХАЭХА ЛПНБОДХ Ч ЛБФБМПЗЕ РПТФБ:

чЩВЕТЙФЕ Ч НЕОА ПРГЙА APACHE , ФЕН УБНЩН ЧЩ РПУФТПЙФЕ ЪБЗТХЦБЕНЩК НПДХМШ mod_php5 ДМС ЧЕВ УЕТЧЕТБ Apache .

рТЙНЕЮБОЙЕ:

нОПЦЕУФЧП УБКФПЧ РП ТБЪОЩН РТЙЮЙОБН (ОБРТЙНЕТ, ЙЪ-ЪБ РТПВМЕН УПЧНЕУФЙНПУФЙ ЙМЙ ЙЪ-ЪБ ОБМЙЮЙС ХЦЕ ТБЪЧЈТОХФЩИ ЧЕВ РТЙМПЦЕОЙК) ЧУЈ ЕЭЕ ЙУРПМШЪХАФ PHP 4. еУМЙ ФТЕВХЕФУС mod_php4 ЧНЕУФП mod_php5 , ФП ЧПУРПМШЪХКФЕУШ РПТФПН lang/php4. рПТФ lang/php4 РПДДЕТЦЙЧБЕФ НОПЗЙЕ ЙЪ ЛПОЖЙЗХТБГЙПООЩИ Й ХУФБОПЧПЮОЩИ ПРГЙК РПТФБ lang/php5.

рПУМЕ ХУФБОПЧЛЙ ОПЧЩИ ТБУЫЙТЕОЙК УЕТЧЕТ Apache ДПМЦЕО ВЩФШ ТЕУФБТФПЧБО, ЮФПВЩ ЙЪНЕОЕОЙС Ч ЛПОЖЙЗХТБГЙЙ ЧУФХРЙМЙ Ч УЙМХ:

рП ЧПРТПУБН, УЧСЪБООЩН У FreeBSD, РТПЮЙФБКФЕ ДПЛХНЕОФБГЙА РТЕЦДЕ ЮЕН РЙУБФШ Ч .
рП ЧПРТПУБН, УЧСЪБООЩН У ЬФПК ДПЛХНЕОФБГЙЕК, РЙЫЙФЕ Ч ТБУУЩМЛХ .

источник

Настройка web сервера на Freebsd 10

В первой и второй частях мы рассмотрели установку и настройку операционной системы Freebsd 10.1 для разворачивания на ней блога wordpress. Теперь предстоит установить и настроить программное обеспечение, необходимое для нашего web сервера.

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

Устанавливаем ftp сервер vsftpd

Начнем нашу настройку с установки ftp сервера vsftpd. Для авторизации мы будем использовать системные учетные записи, анонимный доступ отключим.

Первым делом обновим порты:

После обновления, ставим сервер:

Компоненты оставляем по-умолчанию. Добавляем загрузку vsftpd в /etc/rc.conf:

Редактируем конфиг /usr/local/etc/vsftpd.conf, приводим его к следующему виду:

Проверяем, запустился ли демон:

В ответ должны увидеть что-то похожее:

Это означает, что сервер запустился и слушает входящие соединения на 21 порт. С текущими настройками можно залогиниться учетной записью root и перемещаться по всему серверу. Это очень небезопасно, призываю внимательно относиться к этим возможностям. Рекомендую подробнее ознакомиться с настройками сервера, обратить внимание на директивы userlist_enable, userlist_file, chroot_local_uses, chroot_list_enable, chroot_list_file. С помощью них можно ограничивать доступ к серверу и перемещение пользователей по папкам. Вообще, у vsftpd много настроек и возможностей, в интернете достаточно статей на подобную тему. Можно без проблем хранить базу пользователей сервера в mysql. В завершение порекомендую ограничить доступ к ftp через firewall.

Установка и настройка Mysql

Дальше устанавливаем сервер баз данных mysql:

Настройки оставляем дефолтные.

Сервер тянет за собой достаточно большое количество зависимостей. Установка постоянно тормозится и выскакивает окно с настройками очередной зависимости. Чтобы не отвлекаться на это и не тормозить процесс, я рекомендую перед командой make install clean ввести команду:

Она проверит все зависимости и выведет сразу настройки этих зависимостей. Потом в процессе сборки пакета уже не будет прерываний.

После завершения установки добавляем запуск сервера в rc.conf:

Создаем необходимые папки и выставляем права:

Создаем файл конфигурации:

Записываем следующее содержание в файл настроек:

Закомментированные строки включаем на свое усмотрение в процессе отладки. Если будет включен лог всех SQL запросов, то нужно не забыть настроить ротацию логов, файл будет расти очень быстро, можно забыть и пропустить момент, когда файл займет все свободное место.

Лог файлы нужно обязательно создать самим и выставить на них права пользователя mysql. Если этого не сделать, то сервер не будет стартовать, и что самое неприятное, не будет никаких сообщений в лог файлах. Они будут созданы с правами root:wheel и сервер ничего туда не сможет записать. Так что создаем файлы сами:

Проверяем, все ли запустилось как следует:

Если все в порядке, то вы увидите что-то похожее на это:

Дальше воспользуемся стандартным скриптом для безопасной настройки mysql:

Задаем пароль root пользователя mysql. Обращаю внимание, что это не системный root. В mysql свои пользователи. На остальные вопросы отвечаем положительно, в принципе, там все понятно описано, ничего сложного нет. Удаляется тестовая база, тестовый пользователь, запрещается удаленный доступ к серверу.

На этом настройка mysql окончена. Идем дальше.

Устанавливаем и настраиваем apache24

Устанавливаем непосредственно web сервер apache:

Оставляем все настройки по-умолчанию. Запускаем установку:

Добавляем apache в атозагрузку:

Теперь создадим 2 виртуальных хоста. На первом будет располагаться phpmyadmin, на втором наш сайт, в данном случае wordpress. Не забываем настроить в DNS эти хосты. Раскомментируем строчку в конфиге /usr/local/etc/apache24/httpd.conf

Дальше идем в папку /usr/local/etc/apache24/extra/ и редактируем файл httpd-vhosts.conf до следующего вида:

Я использую тестовый домен websrv.local В общем случае тут должен быть непосредственно домен вашего сайта, что-то вроде myblog.ru. Для phpmyadmin я использую поддомен с произвольным непопулярным именем, чтобы туда не заходил тот, кому не следует.

Обращаю внимание на параметр Require all granted. На предыдущих серверах я его не указывал. В этот же раз при обращении к виртуальному домену в логах получал ошибку:

Скорее всего это особенность apache24, до этого я пользовался более ранними версиями.

Сайты я размещаю в каталоге /web/sites. Для каждого домена отдельная папка. Для улучшения безопасности можно настроить отдельных пользователей для каждого поддомена, сделать пользователя ftp, доступ к логам и так далее. В этой статье я не буду касаться этого вопроса. У нас будет один сайт и один пользователь. Создаем необходимые папки:

На этом пока настройку apache закончим, мы к ней вернемся позже, когда установим остальные компоненты. Запускать его не будем, он все равно не запустится, выдаст ошибку.

Устанавливаем php и phpextensions

Дальше устанавливаем php, настройки оставляем настройки по-умолчанию:

После установки создаем файл конфигурации:

Помимо настроек по-умолчанию, обязательно добавляем CURL, DOM, POSIX, FTP, GD, HASH, ICONV, XML, JSON, MBSTRING, MYSQL, MYSQLI, OPENSSL, SOCKETS, TOKENIZER, XMLREADER, ZLIB, EXIF, GETTEXT,

Теперь поставим модуль php для apache. Он теперь стал почему-то отдельным портом. Я не сразу первый раз сообразил, куда делся модуль, который всегда ставился вместе с портом php. В общем, ставим отдельно:

Для того, чтобы apache правильно обрабатывал php файлы, необходимо в конфиг httpd.conf добавить следующие строки:

Теперь можно запустить apache и проверить, все ли у нас в порядке. Сначала проверим, нет ли у нас ошибок в конфигурации:

У нас ошибка, модуль mod_rewrite не подключен. Чтобы это исправить, раскомментируем в конфиге апача строку

Снова ошибка, но не критичная, можно работать и с ней, но мы все равно ее исправим. В фале httpd.conf находим строку со значением ServerName и приводим ее к виду:

Сохраняем файл, проверяем конфигурацию:

Все в порядке, можно стартовать apache:

Проверяем, все ли запустилось:

Если получаете что-то подобное, значит все в порядке. Сейчас можно в браузере набрать http://ip-сервера/ и увидеть страничку с одной единственной надписью:

Это означает, что веб сервер apache работает, все в порядке.

Настройка frontend сервера nginx

Теперь будем настраивать наш frontend — nginx. Он будет смотреть в интернет и принимать запросы от пользователей, чтобы потом их перенаправлять на apache. Идем в порты и устанавливаем nginx:

Добавим nginx в автозагрузку:

Редактируем конфиг nginx /usr/local/etc/nginx/nginx.conf, приводим его к следующему виду:

Указываем свой внешний ip адрес. Проверяем настройки nginx:

Теперь необходимо изменить конфигурацию apache, чтобы он слушал только локальный интерфейс 127.0.0.1, а все внешние запросы принимал nginx и перенаправлял к apache. Меняем в /usr/local/etc/apache24/httpd.conf строку с параметром Listen, приводим к виду:

Наш веб сервер готов. Теперь проверим его работу. Создадим в папке /web/sites/websrv.local/www файл index.php с содержимым

Заходим в браузере по адресу http://websrb.local

Если вы видите информацию о версии php и его модулях, значит все настроено и работает.

Установка phpmyadmin на виртуальный хост

Остался последний шаг в нашем деле — установка phpmyadmin. В принципе, wordpress можно установить уже сейчас, но без удобного средства работы с mysql как-то неловко. В будущем оно все равно пригодится. Так что ставим из портов:

По-умолчанию, phpmyadmin устанавливается в папку /usr/local/www/phpMyAdmin, но так как мы для него создали отдельный виртуальный хост, то переносим все содержимое папки туда:

источник

Читайте также:  asus eee pc 1025c установка windows

Добавить комментарий

Adblock
detector