Несколько сайтов на одном IP адресе

Автор AlexJan, 30 июля 2014, 17:03:46

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

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

AlexJan

Добрый день!
Подскажите пожалуйста как можно настроить несколько сайтов на одном IP адресе,с возможным доступом извне.Например http://внешний_ip/site.ru
Пересмотрел кучу инф. находил темы на этом форуме с таким же вопросом, делал все как пишут,но все равно не работает(( что не так делаю,не пойму...(
Установлен debian-7.4.0-i386-CD-1
Виртуальный хост настраивал такими командами:
# cd /var/www/
# mkdir site.ru
# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/site.ru
# nano /etc/apache2/sites-available/site.ru

<VirtualHost *:80>
        ServerAdmin webmaster@site.ru
        ServerName site.ru
        DocumentRoot /var/www/site.ru/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/site.ru>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </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
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>


# cd /etc/apache2/sites-enabled
# ln -s /etc/apache2/sites-available/site.ru site.ru   после ввода этой команды 
ln: не удалось создать символьную ссылку «site.ru»: Файл существует
# a2enmod rewrite
# nano /etc/hosts

127.0.0.1            localhost
192.168.1.24       site.ru
192.168.1.24       server1.home.com        server1

# /etc/init.d/apache2 reload
# a2ensite site.ru
# nano /var/www/site.ru/index.html

<html>
<body>
<h1>test page</h1>
<p>This is the default web page for this server.</p>
    <p>The web server software is running but no content has been added, yet.</p>
</body>
</html>

# /etc/init.d/apache2 restart

через ISPConfig установлен сайт доступный локально через 192.168.1.24
и еще один сайт установлен,доступный через внешний IP
Прошу сильно не пинать,debain начал осваивать недавно)
  •  

endru

AlexJan, создаете файл например test.site.ru в директории /etc/apache2/sites-enabled

от вашего /etc/apache2/sites-available/site.ru он должен отличаться строками:

ServerName test.site.ru
DocumentRoot /var/www/test.site.ru/
<Directory /var/www/test.site.ru>

перегружаете apache
/etc/init.d/apache2 reload

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

Defman

Делать симлинк самому совершенно не обязательно)
sudo a2ensite site.ru
Кстати, ServerAlias указывать тоже надо, не?)
:)
  •  

AlexJan

endru
файл создал

Цитата: endru от 30 июля 2014, 20:56:46вместо test.site.ru нужно использовать любое доменное имя, DNS запись которого указывает на IP вашего сервера
можно пожалуйста по подробней
любое доменное имя зарегистрированное?
в таком виде вообще будут сайты открываться http://внешний_ip/test.site.ru ?или обязательно нужно регистрировать доменное имя?

Defman, ServerAlias тоже указывать в этом файле(test.site.ru)?
  •  

Defman

http://внешний_ip/test.site.ru откроет папку "test.site.ru" в корневом каталоге сервера (или не в корневом, тут я уже не знаю). Так что доменное имя нужно, мне кажется.
:)
  •  

AlexJan

Так если хотя бы открылась эта папка "test.site.ru",а то он вообще ее не находит
Not Found
The requested URL /test.site.ru was not found on this server.
Apache/2.2.22 (Debian) Server at 84.52.xxx.xxx Port 80
  •  

Defman

Хмм, а где у вас корневая папка вебсайта? (ну типа /var/www/). Ищется только там. Можно конечно симлинки создать в корневую папку сайта. Допустим ln -s /home/mysite/public_html/ /var/www/
:)
  •  

AlexJan

корневая судя по всему /var/www/
именно так прописать ln -s /home/mysite/public_html/ /var/www/ ?
  •  

Defman

Так у тебя же есть папка test.site.ru в /var/www/
Короче ты меня запутал совершенно и я хз, что тебе делать))
[ot]на скрине лютое ШГ[/ot]
:)
  •  

AlexJan

Так в том то и дело что папка есть,в ней лежит файл index.html и при переходе по адресу http://84.52.xxx.xxx/test.site.ru пишет
Not Found
The requested URL /test.site.ru was not found on this server.
Apache/2.2.22 (Debian) Server at 84.52.xxx.xxx Port 80
да я уже сам запутался...
  •  

Defman

А если ты просто подключишься к своему серверу? (т.е. без "/test.site.ru"). Что выведет?
:)
  •  

AlexJan

Сайт который создал через ISPConfig
  •  

Defman

:)
  •  

endru

AlexJan, не внимательно прочитал вашу задачу...

измените файл /etc/apache2/sites-enabled/test.site.ru

Alias /test.site.ru /var/www/test.site.ru/
DocumentRoot /var/www/test.site.ru/


остальные опции можно подцепить по мере надобности.

директория /var/www/test.site.ru/ должна существовать!

перегрузите apache:
/etc/init.d/apache2 reload

AlexJan

endru, такой вариант тоже не сработал
вообщем психанул,удалил все сайты и заново через ISPConfig создал пользователя из под этого пользователя установил сайт через Available packages,при установке в Install location после IP адреса через / написал имя папки site,что и получилось http://внешний_ip/site,после установки создал пользователя FTP и через FTP залил свой сайт вместо того что установился,подправил файл подключения к БД и все прекрасно заработало с таким адресом http://внешний_ip/site !!!))))
Ситуация конечно не понятная,т.к. изначально я пытался установить сайт по такому методу,но ispconfig заругался.
Всем большое спасибо что откликнулись!))
  •