Fórum Ubuntu CZ/SK
Ostatní => Ubuntu Server => Téma založeno: daton 28 Prosince 2013, 14:53:54
-
Dobrý den
Mám Ubuntu 13.10 a rozhodl jsem se na něm spustit webový server Apache. Ve Windows jsem server konfiguroval bez problémů ale zde je vše trochu jinak. Konfigurační programy jsou rozházení a není mi jasné kde všechny jsou. Předně bych chtěl server zkonfigurovat tak že si tam nastavím svoji IP kterou ho budu volat, ale ta v etc/apache2/apache2.conf není. Prosím tedy o radu, kde se tato adresa nachází (u windows je to httpd.conf ale kde to je zde?
Dále chtěl bych adresář www přemísti z var/www do home/www , když ale změním adreování v etc/apache2/apache2.conf tak to skončí chybou, což je zvláštní protože bych předpokládal, že zde je to podstatné pro adresování tohoto adresáře.
Můžete mi tedy někdo popsat, kde které konfigurační soubory jsou a která a kde bych měl adresaci změnit? Děkuji za reakce.
-
konfigurace apache se dela v httpd.conf .. doporucuji najit na centos/redhat wiki prislusny clanek, je to tam pekne popsane, s drobnyma zmenama to bude platit stejne i v ubuntu ..
etc/apache2 je historie stara mnoho let :D, tusim, ze i v ubu by ta konfigurace mela byt v etc/httpd/conf/ a v etc/httpd/conf.d .. a btw, to chces chces bude patrne DocumentRoot a Directory ..
# grep www/html httpd.conf
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
-
Dobrý den
To je právě ten problém, httpd nemohu v etc nikde najít a nemohu ani najítk konfigurák kde je default ip 127.0.1.1. Prošel jsem mnoho konfiguráku v etc ale je to problém, je jich tu skutečně moc ale nikde tato ip. Take jsem našel zmínku o host.conf ale tam také nic není skutečně už nevím kde hledat a které konfigurační soubory jsou pro apache hlavní. nemám databázi chci to jen ze souboru o to by to mělo být jednoduší.
-
nevim, o cem mluvis ohledne default IP, ale v apachi se nastavovalo kde httpd posloucha vzdy pomoci directivy Listen
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, in addition to the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Listen 12.34.56.78:80
Listen 80
-
etc/apache2 je historie stara mnoho let :D, tusim, ze i v ubu by ta konfigurace mela byt v etc/httpd/conf/ a v etc/httpd/conf.d .. a btw, to chces chces bude patrne DocumentRoot a Directory ..
Teď nevím jak je to v 13.10, ale v 12.04 se všechno nastavuje v /etc/apache2.
Naslouchání na ip adresu/změna výchozí www složky se nastaví upravením
/etc/apache2/sites-available/default
kde přidáš blok podle vzoru:
<VirtualHost 172.20.30.50>
DocumentRoot /www/example1
ServerName www.example.com
</VirtualHost>
Ip adresu si upravíš na svou, lze dopsat i port klasicky :82 třeba. DocumentRoot je cesta ke složce.
Jen nezapomeň pomocí:
chmod -R 655 /slozka/
chown -R www-data /slozka/
chgrp -R www-data /slozka/
nastavit správná práva a restartovat apache:
sudo service apache2 reload
-
Zdravím
Tak Httpd soubor tam skutečně není. Jedná se o Apache instalovaný na Ubuntu 13.10.
Pan Zatloukal měl ale pravdu. Hodně se toho konfiguruje v konfiguráku
etc/apache2/sites-aviable/000-default.conf ,
kde jsem měl místo IP adresy jen *:80 tak jsem tam zadal místo * svoji adresu a ejhle server začal reagovat na tuto ale kupodivu i na tu základní co má někde zapsanou a ta je 127.0.1.1, a ta stále nevím kde je v tomto konfiguračním souboru není. Dobré ale je že server reaguje i na tu moji.
Dále jsem v tomto našel adresace
DocumentRoot /var/www/
tak že jsem ho přepsal na
home/www
ale to nestačilo, výstup skončil chybou tak jsem ještě otevřel konfigurák v
etc/apache2/apache2.conf
a zde jsem také přepsal adresaci z
<Directory /var/www na home/www
a po restartu apache2 začalo vše chodit tak jak jsem chtěl.
Jen stále zůstává nevyřešena otázka kde vlastně je uložena adresa 127.0.1.1 na kterou se to hlásí hned po instalaci a zůstává aktivní i po přepsání těchto konfiguračních souboru.
Při restartu se tato taky vypíše
Restarting web server apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
...done.
K výše položeným dotazům jeden co s tímto nesouvisí, ale potřebuji ho pro spouštění skriptu, prosím jak správně zapsat příkaz na spouštění programu v určitou dobu - něco jako crontab
Zatím moc díky za pomoc.
-
Zdravím všechny
tak musím svůj předchozí příspěvek poopravit, ta adresa 127.0.1.1 která je dostupná hned po instalaci apache tam není napsaná nikde a zřejmě byla generovaní tou zástupnou hvězdičkou (to je asi nepřesné) samozřejmě že někde uvedená je ale v konfiguračním programu byla zastoupena tou hvězdičkou a jakmile jsem tam zadal IP adresu svoji přestala být funkční. Bohužel se mi jevila funkční protože Firefox si načetl obrázek do cach a tím mne zmátl. :-)
Ted bych ale potřeboval pomoci s tím crontabem, už jsem si toho o tomto příkazu přečetl dost, nainstaloval jsem si MC a v rootu zadám crontab -e
a otevře se mi editační okno. Do tohoto okna jsem na konec (po textu s hvezdičkami) zapsal toto :
15 * * * * /home/www/meteo.pl
předpokládal jsem že mi to spustí program v perlu s nazvem meteo.pl v každé 15 min ale nic se neděje. Zkusil jsem i modifikaci
15 * * * * root /home/www/meteo.pl
ale ani tato nefunguje. Netuším proč . Editor jsem vždy uložil a při dalším otevření jsem viděl zápis tak jak jsem jej provedl. Mohl by jste mi prosím někdo poradit kde dělám chybu? Děkuji..
-
Napoprvé bych zkontroloval, zda je ten script označený jako spustitelný, napodruhé bych to volal spíše
15 * * * * root /usr/bin/perl /home/www/meteo.pl
PS: Opravdu je nutné ten script spouštět pod rootem?
PPS: V každé patnácté minutě znamená v 0:15,1:15 ..., nebo v 0:15, 0:30, 0:45, 0:00 ... pak bych to zapsal jako */15
-
Zdravim všechny
tak crontab jsem už vyřešil, doposud jsem si totiž myslel, že jako root mohu konfigurovat většinu úkolů a bude se to provádět ve všech uživatelech ale byl to omyl. Crontab se konfiguruje v každém uživateli i rootu zvlášt a co se nakonfiguruje v rootu není vidět v uživateli a obráceně. Já jsem konfiguroval crontab správně jenže v rootu a program se serverem v uživateli ho tedy neviděli.
Když jsem to zjistil, že v uživateli nevidím konfiguraci z roota a obráceně tak už to byla jen chvíle a začalo to chodit k plné spokojenosti.
Závěr tedy je že konfigurovat se to má tam kde je úloha. Příkaz mi nakonec fungoval v tomto formátu
15 * * * * /usr/bin/perl /home/www/program.pl
když jsem mu neukázal cestu k perlu tak nechtěl fungovat takto bez problémů. Načítá to obrázek každých 15 min a to je správně.
Moc děkuji všem za pomoc.
-
Prosím ještě jeden dotaz narazil jsem na problém se zádáním IP adresy, zadávám ji do konfiguráku sites- available/ defaul ale pak mi to vypíše při restartu toto:
* Restarting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
[Wed Jan 01 18:59:23.350397 2014] [core:error] [pid 11984] (EAI 2)Name or service not known: AH00549: Failed to resolve server name for 192.168.20.110 (check DNS) -- or specify an explicit ServerName
Netušíte prosím někdo kde je chyba? Děkuji.
-
píše se tam, že není možné přeložit adresu na jméno (tedy potenciální problém interního DNSka), nebo máte explicitně nastavit ServerName
-
Dobrý den, DNS server jsem nenastavoval a popravdě ani nevím kde bych to udělal. Server name jsem taky neměnil, mohl by jste mi poradit, co udělat aby tam k těmto konfliktům nedocházelo?
-
Tak ano byl to server v routeru co mi dělal problémy a nechtěl mne pustit přes ty adresy dík za typ.