Instruktaż/Tutorial Wiele stron w serwerze Web

Silas Mariusz

rm -rf /
Help us, GOD!
5 Kwiecień 2008
10 168
31
2 246
153
39
Nowy Sącz
forum.qnap.net.pl
QNAP
TS-x77
Ethernet
1 GbE
Creating multiple websites on your NAS.
There are already running several apache servers on your NAS. These have different special purposes. To have your NAS serve multiple domains, there is no need to add additional apache servers, you can serve them all from one Apache server.
All the magic lies inside apache, by using VirtualHosts.
First of, you need to create a folderstructure on the NAS, that the apache can utilize.
We already have Qweb, so let's just extend the use of it, by moving all our websites to subfolders.
Qweb:
index.html
HTML files
Folders for the site

Changes to:
Qweb:
site1
HTML files
Folders for the site

site2
HTML files
Folders for the site.

Site3
....

To minimize the damage if the apache.conf file is reset by a firmware you should create your own config file. As we no longer want to use the root of Qweb to hold webserver pages, we can place the additional configuration there.

Qweb:\customization.conf

And then in the config file of the apache server ( /etc/config/apache/apache.conf), we can add
include /share/Qweb/customization.conf
at the bottom of apache.conf
An example of a config file could look like this:

ServerAdmin webmaster@site1.com
ServerName http://www.site1.com
DocumentRoot "/share/Qweb/site1”
<Directory />
Order Deny,Allow
Deny from all
</Directory>
<Directory "/share/Qweb/site1">
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

ServerSignature Off
ServerTokens Prod

NameVirtualHost *:80

<VirtualHost *:80>
ServerName http://www.site1.com
ServerAlias site1.com http://www.site1.org site1.org
DocumentRoot "/share/Qweb/site1"
<Directory "/share/Qweb/site1">
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog /share/Qweb/logs/site1_error
CustomLog /share/Qweb/logs/site1_access combined
</VirtualHost>

First of we define where to send mail for users that experience errors, we also set a deny for root, which is lacking in the standard config.
Furthermore we limit the info we want to give away, and then we tell apache, that we want to create virtualhosts based on their name on port 80, which is the standard webport.

Finally we define a virtual server based on it's name.
There is the servername, which is what apache is to react on, and then there are aliases created for other sites, or TopLevelDomains, that you want to direct to the same site.
Finally there is a seperate logfile for each website, if you don't want to look at the logfiles, the errorlog and customlog lines can be omitted. Then the apache will use it's standard log file for every transaction.

To create another site, we simply add a new <VirtualHost> ... </VirtualHost> set, that points to another directory.

This way you can have some domains point to the same site, and others to seperate sites.

If you wish to harden the apache a bit more, you should find the Rewrite module, which can be found on the qnap forums, and then add the following lines to the customization config. The apache replies to some very unusual request methods, and there is no need for that, so we just want to redirect them to nothing.

LoadModule rewrite_module libexec/mod_rewrite.so
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE [OR]
RewriteCond %{REQUEST_METHOD} ^PROPFIND [OR]
RewriteCond %{REQUEST_METHOD} ^PROPPATCH [OR]
RewriteCond %{REQUEST_METHOD} ^MKCOL [OR]
RewriteCond %{REQUEST_METHOD} ^COPY [OR]
RewriteCond %{REQUEST_METHOD} ^MOVE [OR]
RewriteCond %{REQUEST_METHOD} ^LOCK [OR]
RewriteCond %{REQUEST_METHOD} ^UNLOCK [OR]
RewriteCond %{REQUEST_METHOD} ^LINK [OR]
RewriteCond %{REQUEST_METHOD} ^UNLINK
RewriteRule .* - [F]

ma ktos ochote tlumaczyc?
 
Re: [HOWTO]-[ Wiele stronek na QNAP NAS ]-[ ENGLISH ]

Dobrze

tłumaczę :D

choć z tego co tu widzę jest to troszkę zamotane i spróbuje przekazać prostąi jasną ideę jak to zrobić. Wersja angielska powyżej jest troszkę rozbudowana a sprawa jest prosta jak drut trzeba tylko wiedzieć gdzie i co wpisac do pliku aby uruchomić odpowiednie domeny, subdomeny.

W Qweb posiadamy jeden plik index.php i dwa foldery phpmyAdmin i Joomla.

Aby stworzyć np trzy strony na naszym NASie na bazie np. Joomla należy po pierwsze wziąść kartkę papieru i rozpisać sobie planik.

NP:
mamy uruchomić dwie domeny
www.hotradio.com
www.london.com

i jedną subdomenę
www.city.london.com

po pierwsze musimy wejść do phpMyAdmin i skonfigurować nowe bazy danych

jedną bazę nazywamy np: hotradio, drugą london, trzecią citylondon, do każdej z baz tworzymy osobnych użytkowników z hasłami. Wszystko zapisujemy na kartce lub w notatniku.

następnie w Qweb tworzymy foldery

np: hotradio, lonodn i citylondon

( więc posiadamy już na dysku Qweb pięc foderów, trzy które utworzyliśmy i folder Joomla oraz phpMyAdmin plus index.php

do każdego z utworzonych folderów kopijujemy folder Joomla.

w ten sposób przygotowaliśmy sobie grunt pod zabudowę stronek tak zwaną niezbędną infrastrukturę systemu

kolejna rzecz to stworzenie skryptu który wkleimy do odpowiedniego pliku w NASie

skrypt piszemy w notaniku i zapisujemy sobie go jako plik tekstowy.
oto on dla naszego przykładu

Kod:
NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.hotradio.com
ServerAlias http://www.hotradio.com
DocumentRoot "/share/Qweb/hotradio"
</VirtualHost>

<VirtualHost *:80>
ServerName www.london.com
ServerAlias http://www.london.com
DocumentRoot "/share/Qweb/london"
</VirtualHost>

<VirtualHost *:80>
ServerName www.city.london.com
ServerAlias http://www.city.london.com
DocumentRoot "/share/Qweb/citylondon"
</VirtualHost>

kolejny krok to za pomocą dowolnego programu czyli albo putty albo tak jak jak używam WINSCP ( co większosć nie pochwala ) połaczyć się z NASem.

uruchamiamy program wpisujemy IP NASa login i hasło dostępu i wchodzimy na niego. i kolejno szukamy katalogów i wchodzimy do nich

mnt
HDA_ROOT
apache
conf

i klikając otwieramy w nim plik apache.conf

i poniżej ostatniej linijki
Kod:
</IfModule>

wlejamy nasz skrypcik i zapisujemy plik.

ostatnia rzecz jaka została nam do zrobienia to zrestartować NASka i wszystko powinno działać.

Nalezy pamiętać że po wklejeniu skryptu nie jesteśmy w stanie wejść na nasze stronki by je podglądnać, skonfigurować, niestety jest to mozłiwe tylko z zewnątrz sieci. To samo tyczy się konfiguracji phpMyAdmin

niezbędne jest sprawdzenie poprawnej konfiguracji z zewnętrznego łącza np: od kolegi

natomiast jeśli chcemy konfigurować strony w domu to zostaje nam usuniecie naszego skryptu z pliku, restart NASa i konfiguracja poprzez

wpisanie np http://192.168.1.200/london/
czyli IP NASa i foderu strony

Powodzenia w kofiguracji
 
Ostatnio edytowane przez moderatora:
Witam próbowałem u siebie podanej konfiguracji i u mnie nie działa prosze podzielcie sie informacjami u kogo to poszło i czy wszystkim działa bez zarzutów
 
Nalezy pamiętać że po wklejeniu skryptu nie jesteśmy w stanie wejść na nasze stronki by je podglądnać, skonfigurować, niestety jest to mozłiwe tylko z zewnątrz sieci. To samo tyczy się konfiguracji phpMyAdmin
Nie do końca zgodzę się z tą teorią :) Mam na QNAP'ie zrobione wirtualne hosty i bez problemu wchodzę na nie z LAN

Pozdrawiam
 
Moim zdaniem opcja robienia vhost’ów powinna być dostępna z menu zarządzającego. Mogło by to wyglądać w następujący sposób:
Pole ilość domem, w którą wpisujemy cyfrę.
W zależności od wpisanej liczby pojawiają się pola w które wpisujemy nazwy domen.
Katalogi domen tworzone są automatycznie w folderze Qweb.
 
YES YES Wreszcie zrobione , ale może jeszcze ktoś mi pomóc , zainstalowałem wcześniej skrypt do hostingu zdjęć mam go w katalogu QWEB pod nazwą /hosting , co mam zrobić by by widoczny jak dawniej muszę dopisać jakiś skrypt czy wrzucić go do jakiejś domeny j jeszcze raz zainstalować POMOCY
A jeszcze na dodatek nie działa i nie mogę wejść do phpMyAdmin do żadnych zainstalowanych katalogów .
 
Mógłby ktoś opisać czy działa komuś rozwiązanie opisane powyżej.

Nijak nie moge dojść do tego aby zadziałało.
Czy oprócz edycji pliku apache_conf , musimy jeszcze coś konfigurować aby działały wirtualne hosty?

Dzięki za pomoc z góry
 
hahaha hahaha hahaha ja nie mogę ok wirtualne servery z ponizszego przypisu chodza ale pojawil sie problem z phpMyAdmin wywala
Not Found
The requested URL /phpMyAdmin/ was not found on this server.

Apache/1.3.41 Server at http://www.domena1.pl Port 80

NameVirtualHost *:80

<VirtualHost *:80>
ServerName http://www.domena1.pl
ServerAlias http://www.domena1.pl
DocumentRoot "/share/Qweb/Joomla"
</VirtualHost>

<VirtualHost *:80>
ServerName http://www.domena2.pl
ServerAlias http://www.domena2.pl
DocumentRoot "/share/Qweb/wordpress"
</VirtualHost>

i gdzie mam blad moze w pliku config od phpMyAdmin musze cos dopisac? Prosze o pomoc i podpowiedz pomocy pomocy pomocy pomocy
 
Witam, gdzie znajdę apache.conf w TS-210? Nie mogę znaleźć folderu apache w MDA_ROOT, tak jak pisał któryś z kolegów wcześniej. Chcę uruchomić virtual hosts (a właściwie na początku przekierowanie subdomeny na webmaila uebimiau, ale stanąłem już na początku. Serwer www działa poprawnie.
Pozdr, Marek
 
Witam,
u mnie apache.conf znalazlem z folerze /mnt/HDA_ROOT/.config/apache.
Zadziałało połowicznie, tzn. mam 2 virt hosty. Jeden w webmail w php, a drugi to po prostu plik index.htm.
Niestety odniesienia do obydwu subdomen kierują do webmaila.
Czy zeby to dzialalo, to serwisy muszą być w php?

Takie coś wpisałem:
<VirtualHost *:80>
ServerName poczta.xxx.pl
ServerAlias http://poczta.xxx.pl
DocumentRoot "/share/Qweb/uebimiau"
</VirtualHost>

<VirtualHost *.80>
ServerName test.xxx.pl
ServerAlias http://test.xxx.pl
DocumentRoot "/share/Qweb/xxx"
</VirtualHost>

i odwołania poczta.xxx.pl i test.xxx.pl kierują mnie do webmaila.
Pozdr. Marek