Настройка apach в debian?

Автор Sergey101, 22 января 2012, 22:51:30

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Sergey101

Не знаю в какой раздел точно, в сетях все про роутеры, так что надеюсь правильно :)
Установил его,  по статье http://lamp.drupalogy.ru/book/export/html/1 почти точно как там. Разве что почти ничего лишнего не ставил, сделал проброс портов на свой компьютер на роутере, даже получилось сделать алиас в sites-avaiable/sait и теперь сайт открывается в локалке

Но почему если ввести мой ip в адрес браузера я вижу этот самый apach и свой debian, но localhost??? Как правильно сделать, чтобы сайт был доступен по ip и по имени домена?
p.s. И хотелось бы чтобы localhost при этом не открывался и вообще ничего лишнего кроме какого то конкретного сайта...

ihammers

Цитата: Sergey101 от 22 января 2012, 22:51:30
Не знаю в какой раздел точно, в сетях все про роутеры, так что надеюсь правильно :)
Установил его,  по статье http://lamp.drupalogy.ru/book/export/html/1 почти точно как там. Разве что почти ничего лишнего не ставил, сделал проброс портов на свой компьютер на роутере, даже получилось сделать алиас в sites-avaiable/sait и теперь сайт открывается в локалке

Но почему если ввести мой ip в адрес браузера я вижу этот самый apach и свой debian, но localhost??? Как правильно сделать, чтобы сайт был доступен по ip и по имени домена?
p.s. И хотелось бы чтобы localhost при этом не открывался и вообще ничего лишнего кроме какого то конкретного сайта...
Старенькая статья, ну да ладно.  Если я правильно понял, то вам нужно править /etc/hosts, например добавить строчку:

nano /etc/hosts
IP_address Name_address


PS: не изменяйте строчку с localhost-ом.
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290

Sergey101

#2
А какой именно IP? У меня стоит сейчас 192.168.0.101 то есть ip локальный компьютера с дебианом, то есть:

192.168.0.101        site.loc

p.s. Хотя я пробовал
127.0.0.1        site.loc
Все равно по 192.168.0.101 он доступен, вот что тут настраивать не очень понятно...

ihammers

#3
Цитата: Sergey101 от 23 января 2012, 14:26:55
А какой именно IP? У меня стоит сейчас 192.168.0.101 то есть ip локальный компьютера с дебианом, то есть:

192.168.0.101        site.loc
Можно и так, данный метод можно использовать для доступа с другой машины (править hosts-file нужно на другой машине). 
А можно (для доступа только с локальной машины):
127.0.0.1 site.loc

Цитата: Sergey101 от 23 января 2012, 14:26:55Все равно по 192.168.0.101 он доступен, вот что тут настраивать не очень понятно...
А что именно доступно?  Стандартная страница apache2?  Вы хотите её убрать и сделать что-бы открывался только один сайт?
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290

Sergey101

ЦитироватьА что именно доступно?  Стандартная страница apache2?  Вы хотите её убрать и сделать что-бы открывался только один сайт?
Да страница апача стандартная выдается, ДА!! ну почти на самом деле, сайтов два, хотя бы один сделать, но я вообще хочу понять как это делается, т.е. как менять что будет сервер выдавать по IP - один сайт/другой или еще что-то


ps. Попался под руку домен, вот сейчас думаю как мне сделать чтобы я мог домены прикручивать к своему серверу... в смысле site.ru/site.net и так далее, там ведь как то нужно ns получить для провайдера и все в таком духе, а я тут дуб дубом, я с сайтами работал раньше но все всегда было готовое в плане серверной части и я даже не лез туда

p.s. То есть первый мой сервер, для себя самого для своего сайта и сайта знакомого, вот я пытаюсь разобраться как это все настраивать

ihammers

Цитата: Sergey101 от 23 января 2012, 15:30:04
ЦитироватьА что именно доступно?  Стандартная страница apache2?  Вы хотите её убрать и сделать что-бы открывался только один сайт?
Да страница апача стандартная выдается, ДА!! ну почти на самом деле, сайтов два, хотя бы один сделать, но я вообще хочу понять как это делается, т.е. как менять что будет сервер выдавать по IP - один сайт/другой или еще что-то
Всё должно было работать с предыдущими примерами.  Ну да ладно.

Ниже приведён стандартный конфигурационный файл apache2 (default сайт):
Открыть содержимое (спойлер)
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
                Order deny,allow
                Deny from all
                Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
        <Directory /ud/public/user/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
#                Order allow,deny
#                allow from all
                Order deny,allow
                Deny from all
                Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
#               Order allow,deny
#               allow from all
                Order deny,allow
                Deny from all
                Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
#               Order allow,deny
#               Allow from all
                Order deny,allow
                Deny from all
                Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

[свернуть]
Чтобы открывался только один сайт, по IP или по имени машины, нужно править:
DocumentRoot /var/www

Обычно для VirtualHost достаточно следующих параметров (/etc/apache2/sites-enabled/example.conf):
Открыть содержимое (спойлер)
<VirtualHost *>
    ServerAdmin user@example.ru
    ServerName mysity.example.ru

    DocumentRoot /var/www/MYSITY/docs

    ErrorLog /var/log/apache2/mainerror_log
    CustomLog /var/log/apache2/mainaccess_log common

    AddDefaultCharset UTF-8
</VirtualHost>
[свернуть]

Как у вас описываются виртуальные хосты?
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290

Sergey101

ЦитироватьНиже приведён стандартный конфигурационный файл apache2 (default сайт):
Вот это получилось, теперь понял что это вроде как просто что по умолчанию открывать, у хостеров всегда первый сайт открывался так обычно

ЦитироватьКак у вас описываются виртуальные хосты?
Так никак вообще не описываются, я еще ничего не делал... Если я правильно понял надо сделать /etc/apache2/sites-enabled/site.conf для сайта который я хочу сделать доступным, а можно ведь сделать и /etc/apache2/sites-aviable/example.conf ? т.е. в sites-enabled лежат ссылки на нее, сайт включен вроде как он сделает ссылку на нее?...

Только вот не понимаю, сделаю я подобный virtualhost для своего site.ru и что будет? Как мне у регистратора, то есть что мне у него писать в ns? Читал про настройку dns для debian но вообще плохо понял... сначала вроде как нужно какой-то домен для себя сделать, типа mymainsite.ru его настроить, он же потом будет и использоваться для всех остальных...

Т.е. тот же infobox.ru мне всегда давал свои остальные NS, ну и видимо потом по ним уже был virtualhost который описывал что открывать там и как... это я в самом простом варианте, но я вот так это понимаю, объясните правильно ли я думаю и что дальше делать, чтобы все настроить нормально?

ihammers

Цитата: Sergey101 от 23 января 2012, 18:47:28
ЦитироватьНиже приведён стандартный конфигурационный файл apache2 (default сайт):
Вот это получилось, теперь понял что это вроде как просто что по умолчанию открывать, у хостеров всегда первый сайт открывался так обычно
Это всё настраивается:)  Если конфигурационный файл такой: 000-main.conf, и нет других 000-XXX.conf, то будет открыватся 000-main.conf при любых ошибках и при ситуациях когда обращаются к серверу, а на сервере нет сайта с таким именем.

Цитата: Sergey101 от 23 января 2012, 18:47:28
ЦитироватьКак у вас описываются виртуальные хосты?
Так никак вообще не описываются, я еще ничего не делал... Если я правильно понял надо сделать /etc/apache2/sites-enabled/site.conf для сайта который я хочу сделать доступным, а можно ведь сделать и /etc/apache2/sites-aviable/example.conf ? т.е. в sites-enabled лежат ссылки на нее, сайт включен вроде как он сделает ссылку на нее?...
Ну поэтому у вас и не должны были работать правки в /etc/hosts.  Вообще-то правильно добавлять новые хосты в sites-available, так как в sites-enabled находятся ссылки.  Чтобы сделать эту ссылку используют следующую команду:
a2ensite example.conf
service apache2 restart


Цитата: Sergey101 от 23 января 2012, 18:47:28
Только вот не понимаю, сделаю я подобный virtualhost для своего site.ru и что будет? Как мне у регистратора, то есть что мне у него писать в ns? Читал про настройку dns для debian но вообще плохо понял... сначала вроде как нужно какой-то домен для себя сделать, типа mymainsite.ru его настроить, он же потом будет и использоваться для всех остальных...

Т.е. тот же infobox.ru мне всегда давал свои остальные NS, ну и видимо потом по ним уже был virtualhost который описывал что открывать там и как... это я в самом простом варианте, но я вот так это понимаю, объясните правильно ли я думаю и что дальше делать, чтобы все настроить нормально?
Ну это немного другая тема, но если вкратце, то в таблице dns делается запись:
www.example.ru A IP_address сервера
Дополнительная информация: Добавление сайта в dns.

PS: различные хостеры по разному осуществляют добавление сайта в свои dns-server.  Некоторые предоставляют только место под сайт, другие предоставляют виртуальную машину и т.д.
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290

Sergey101

#8
ЦитироватьДополнительная информация: Добавление сайта в dns.
Тут еще выяснилось, что регистратор такую услугу бесплатно предоставляет... получается у него я прописал что по realdomain.ru надо открывать сервер с мои ip:
*    A    111.222.333.444
@    A    111.222.333.444


Теперь вот про Апач опять, создал я такой файл для своего домена, хотя не сказал бы что делал это с каким то пониманием происходящего... и вот если еще один домен я у регистратора так сделаю, нужно ведь как то делать эти .conf для всех, чтобы по разным доменам разные сайты открывались... IP у меня пока даже не статический, скоро сделаю, но хочется обойтись одним IP как то...
Открыть содержимое (спойлер)
<VirtualHost *>
    ServerAdmin admin@realdomain.ru
    ServerName realdomain.ru

    DocumentRoot /var/www/site

    ErrorLog /var/log/apache2/site_error_log
    CustomLog /var/log/apache2/site_access_log common

    AddDefaultCharset UTF-8
</VirtualHost>
[свернуть]

p.s. За DNS спасибо! Немного разобрался, но думаю пока так бы сделать, потом уже свои попробовать, а то пока как то слишком уж заморочено, да может и не понадобиться даже мне это... я же не хостер далеко =)

p.s. Сейчас открываю realdomain.ru в браузере долго думает и ничего не открывает, хотя это видимо нормально и раньше не все сразу было, но с мои динамическим ip я может и не дождусь, но все равно хочется разобраться как теперь апач настраивать в такой ситуации... когда ip один, DNS есть у регистратора, а мне что нужно - открывать разные сайты (папки) если в браузере набрали соответствующий домен...

ihammers

Цитата: Sergey101 от 23 января 2012, 20:32:11
Теперь вот про Апач опять, создал я такой файл для своего домена, хотя не сказал бы что делал это с каким то пониманием происходящего... и вот если еще один домен я у регистратора так сделаю, нужно ведь как то делать эти .conf для всех, чтобы по разным доменам разные сайты открывались... IP у меня пока даже не статический, скоро сделаю, но хочется обойтись одним IP как то...
Так создавайте файлы .conf с указанием разных:

ServerName realdomain.ru

DocumentRoot /var/www/site


А в DNS-е просто добавляется ещё одна строчка с указанием того же ip-адреса, но уже с другим именем.  IP должен быть статическим.

PS: кто-то сказал: знания приходят с опытом.
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290

Sergey101

Ну спасибо огромное провели чайника сквозь дебри  :)

ihammers

Предлагаю подправить название и не закрывать тему, дабы не плодить темы по настройке apache2.
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290