Apache
Apache je světově nejrozšířenější webserver . Nechá se použít jak na unixech,tak i na novellu
nebo woknech(tam mi ale dělal neplechu).Zde je uvedené jen opravdové minimum,ale na
webu se nechá najít hafo návodů,takže by neměl být jej rozchodit ke své spokojenosti.
Pokud se budete držet mého postupu,tak vám to bude taky chodit.Časem bych chtěl ještě
látku trochu rozšířit,ale nějak na to nezbývá čas.
OBSAH
Instalace
Šifrovaný web
Config
Config https
Volby configu
htacces a htpasswd
Nastavení virtuálního webu
CGI
PHP
PHP extensions
Pear
Užitečnosti
Chat pro váš web
instalace
cd /usr/ports/www/apache22
make all && make install
vybrat součásti které se nainstalují(SSL)
(pouze u starších verzí,apache22 jej má defaultně zapnutý)
povolit v
/etc/rc.conf
zapsat zde
apache22_enable="YES"
zeditovat konfigurák
je v
/usr/local/etc/apache22
minimálně zmenit "servername"-to musí být platná IP(pokud je tam jen IP je třeba do
/etc/hosts
napsat položku pro převod jména na IP-nebo použít DNS) nebo resolvovatelný název a
Listen 192.168.0.4:80
v této sekci přepsat AllowOverride none na
all,jinak nebudou fungovat htaccessy
DocumentRoot "/usr/local/www/apache22/data"
<Directory />
AllowOverride all
Order deny,allow
Deny from all
</Directory>
defaultne je koren webu v
DocumentRoot "/usr/local/www/apache22/data"
starší verze měli kořen v
DocumentRoot "/usr/local/www/data"
spustit
/usr/local/etc/rc.d/apache22 start
POZOR-pokud se vyskytne tato hlaska
No such file or directory: Failed to enable the 'httpready' Accept Filter
[Sun Sep 03 02:07:29 2006] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
je treba spustit
kldload accf_http
pro stale spoustenije treba do
/boot/loader.conf
zapsat
accf_http_load=”YES”
Instalace šifrovanýho webu
nutno vybrat při instalaci apache
nainstalovat openssl
cd /usr/ports/security/openssl
make all && make install
vytvořit adresář
mkdir /usr/local/etc/apache22/config
prepnout se do tohoto adresáře
cd /usr/local/etc/apache22/config
vygenerovat klíče
Generování RSA private key, 1024 bit long modulus
openssl genrsa -des3 -out server.key 1024
rekne si o heslo
Generate pozadavku podpis
openssl req -new -key server.key -out server.csr
rekne si o heslo
rekne si o zemi
rekne si o stát
rekne si o lokalitu
rekne si o organizaci
rekne si o organizacni jednotku
rekne si o jmeno
rekne si o mail
If you enter '.', the field will be left blank.
Common Name (eg, YOUR name) []:theatre.msu.edu !!!
A challenge password []:
An optional company name []:
Podpis klice
openssl x509 -req -days 7300 -in server.csr -signkey server.key -out server.crt
Ostraneni hesla
openssl rsa -in server.key -out server.key
Presun klíče na spravne místo, nastaveni práv-doporučuji mit jedno úložiště pro všechny aplikace na
jednom "neutrálním místě",třeba
/etc/_ssl-cert/,nezapomente
,ale nastavit cestu na certifikáty, v konfiguráku
/usr/local/etc/apache22/ssl.conf
SSLCertificateFile /etc/_ssl-cert/server.crt
a
položka SSLCertificateKeyFile /etc/_ssl-cert/server.key
mkdir /etc/_ssl-cert/
mv server.key /etc/_ssl-cert/
mv server.crt /etc/_ssl-cert/
mv server.csr /etc/_ssl-cert/
chmod 0400 /etc/_ssl-cert/server.key
chmod 0400 /etc/_ssl-cert/server.crt
restartnout apache
apachectl restart
povolit v
/etc/rc.conf
zapsat zde
apache22ssl_enable="YES"
v httpd.conf je nadefinována (nezapomenout odkomentovat-
Include etc/apache22/extra/httpd-ssl.conf) cesta ke konfigu šifrovanýho webu v
/usr/local/etc/apache22/extra
kde je plno dalsich nastaveni,SSL řídí
httpd-ssl.conf
vzor obou configů
###################zacatek httpd.conf#######################
ServerRoot "/usr/local"
Listen 80
LoadModule authn_file_module libexec/apache22/mod_authn_file.so
LoadModule authn_dbm_module libexec/apache22/mod_authn_dbm.so
LoadModule authn_anon_module libexec/apache22/mod_authn_anon.so
LoadModule authn_default_module libexec/apache22/mod_authn_default.so
LoadModule authn_alias_module libexec/apache22/mod_authn_alias.so
LoadModule authz_host_module libexec/apache22/mod_authz_host.so
LoadModule authz_groupfile_module libexec/apache22/mod_authz_groupfile.so
LoadModule authz_user_module libexec/apache22/mod_authz_user.so
LoadModule authz_dbm_module libexec/apache22/mod_authz_dbm.so
LoadModule authz_owner_module libexec/apache22/mod_authz_owner.so
LoadModule authz_default_module libexec/apache22/mod_authz_default.so
LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so
LoadModule auth_digest_module libexec/apache22/mod_auth_digest.so
LoadModule file_cache_module libexec/apache22/mod_file_cache.so
LoadModule cache_module libexec/apache22/mod_cache.so
LoadModule disk_cache_module libexec/apache22/mod_disk_cache.so
LoadModule dumpio_module libexec/apache22/mod_dumpio.so
LoadModule reqtimeout_module libexec/apache22/mod_reqtimeout.so
LoadModule include_module libexec/apache22/mod_include.so
LoadModule filter_module libexec/apache22/mod_filter.so
LoadModule charset_lite_module libexec/apache22/mod_charset_lite.so
LoadModule deflate_module libexec/apache22/mod_deflate.so
LoadModule log_config_module libexec/apache22/mod_log_config.so
LoadModule logio_module libexec/apache22/mod_logio.so
LoadModule env_module libexec/apache22/mod_env.so
LoadModule mime_magic_module libexec/apache22/mod_mime_magic.so
LoadModule cern_meta_module libexec/apache22/mod_cern_meta.so
LoadModule expires_module libexec/apache22/mod_expires.so
LoadModule headers_module libexec/apache22/mod_headers.so
LoadModule usertrack_module libexec/apache22/mod_usertrack.so
LoadModule unique_id_module libexec/apache22/mod_unique_id.so
LoadModule setenvif_module libexec/apache22/mod_setenvif.so
LoadModule version_module libexec/apache22/mod_version.so
LoadModule ssl_module libexec/apache22/mod_ssl.so
LoadModule mime_module libexec/apache22/mod_mime.so
LoadModule dav_module libexec/apache22/mod_dav.so
LoadModule status_module libexec/apache22/mod_status.so
LoadModule autoindex_module libexec/apache22/mod_autoindex.so
LoadModule asis_module libexec/apache22/mod_asis.so
LoadModule info_module libexec/apache22/mod_info.so
LoadModule cgi_module libexec/apache22/mod_cgi.so
LoadModule dav_fs_module libexec/apache22/mod_dav_fs.so
LoadModule vhost_alias_module libexec/apache22/mod_vhost_alias.so
LoadModule negotiation_module libexec/apache22/mod_negotiation.so
LoadModule dir_module libexec/apache22/mod_dir.so
LoadModule imagemap_module libexec/apache22/mod_imagemap.so
LoadModule actions_module libexec/apache22/mod_actions.so
LoadModule speling_module libexec/apache22/mod_speling.so
LoadModule userdir_module libexec/apache22/mod_userdir.so
LoadModule alias_module libexec/apache22/mod_alias.so
LoadModule rewrite_module libexec/apache22/mod_rewrite.so
LoadModule php5_module libexec/apache22/libphp5.so
<IfModule !mpm_netware_module>
User www
Group www
</IfModule>
#ServerName 192.168.0.5
ServerName www.dvorec.eu:80
ServerAdmin spravce@dvorec.eu
DocumentRoot "/usr/local/www/apache22/data"
<Directory />
AllowOverride all
Order deny,allow
Deny from all
</Directory>
<Directory "/usr/local/www/apache22/data">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
# jake soubory bude otevirat
</Directory>
<IfModule dir_module>
DirectoryIndex index.html index.html.var index.php
</IfModule>
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
ErrorLog /var/log/httpd-error.log
###
LogLevel warn
<IfModule log_config_module>
#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog /var/log/httpd-access.log combined
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cg
</IfModule>
<IfModule cgid_module>
</IfModule>
<Directory "/usr/local/www/apache22/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
DefaultType text/plain
<IfModule mime_module>
TypesConfig etc/apache22/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .html .h
AddType application/x-httpd-php-source .phps
</IfModule>
<IfModule ssl_module>
Include etc/apache22/extra/httpd-ssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
# Server-pool management (MPM specific)
#Include etc/apache22/extra/httpd-mpm.conf
# Multi-language error messages
#Include etc/apache22/extra/httpd-multilang-e
# Fancy directory listings
#Include etc/apache22/extra/httpd-autoindex.c
# Language settings
#Include etc/apache22/extra/httpd-languages.c
# Nastaveni a publikovani domovskych adresaru
#Include etc/apache22/extra/httpd-userdir.con
# Zobrazeni konfigurace Apache
#Include etc/apache22/extra/httpd-info.conf
# Virtualni hostitele
#Include etc/apache22/extra/httpd-vhosts.conf
# Local access to the Apache HTTP Server Manu
#Include etc/apache22/extra/httpd-manual.conf
# umoznuje editovat a spravovat soubory na vz
#Include etc/apache22/extra/httpd-dav.conf
# ruzna defaultni nastaveni
#Include etc/apache22/extra/httpd-default.con
Include etc/apache22/Includes/*.conf
##################konec httpd.conf#######################
##################zacatek httpd-ssl.conf#######################
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:/var/run/ssl_scache(512000)"
SSLSessionCacheTimeout 300
SSLMutex "file:/var/run/ssl_mutex"
<VirtualHost _default_:443>
DocumentRoot "/usr/local/www/apache22/data"
ServerName www.dvorec.eu:443
ServerAdmin spravce@dvorec.eu
ErrorLog "/var/log/httpd-error.log"
TransferLog "/var/log/httpd-access.log"
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/etc/_ssl-cert/server.crt"
SSLCertificateKeyFile "/etc/_ssl-cert/server.key"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/usr/local/www/apache22/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog "/var/log/httpd-ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
##################konec httpd-ssl.conf#######################
Několik nastavení v configu
ServerRoot "/usr/local/www" | cesta kde se nachází kořenový adresář-maximální nadřazený adresář, kam se nechají ukládat soubory pro web. |
ServerAlias www.tukan.com | alias na web. Tj na web www.tukan.cz se dostanete i přes www.tukan.com |
Listen 80 | Port, na kterém server naslouchá příchozím dotazům. Je možné mu dát jakýkoliv.
Pokud použijete port menší než 1024 je třeba spouštět apache jako root. |
User www
Group www | Uživatel a skupina pod kterou beží procesy apache. |
ServerAdmin admin@domena.com | Adresa na admina serveru. Při chybě na stránkách je možno kontaktovat správce serveru. |
ServerName www.domena.com
ServerName 192.168.0.5:80
| Musí být pokaždé definován.
druhá řádka je příklad kdy nemáme jméno domény(testovací stroj) |
DocumentRoot "/usr/local/www/apache22/data" | cesta kde se nachází kořenový adresář webu |
</Directory>
<IfModule dir_module>
DirectoryIndex index.html index.html.var index.php
</IfModule> | soubory ,které bude apache hledat, pokud není zadán přesný název dokumentu. Např www.neco.com otevře soubor www.neco.com/index.html -pokud existuje. |
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"
</IfModule> | cesta k adresáři,kde se nacházejí cgi-bin scripty |
<Directory "/usr/local/www/apache22/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory> | nastavení cgi-bin scriptů. Aby byli spustitelné apachem je třeba povolit Options ExecCGI |
Include etc/apache22/Includes/*.conf | připojí další externí soubor do konfigu. Je to kvůli přehlednosti. |
<IfModule ssl_module>
Include etc/apache22/extra/httpd-ssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule> | připojení externího souboru pro nastavení SSL |
<Include etc/apache22/extra/httpd-vhosts.conf | připojení externího souboru pro nastavení virtuálních hostitelů |
parametr Options
řídí se jím akce, které se smějí či nesmějí provádět v jednotlivých adresářích
None | není nic povoleno, vše je zakázáno |
All | je povoleno vše, mimo MultiViews |
Indexes | pokud není v adresáři soubor DirectoryIndex*, pak se vytvoří seznam souboru, které jsou v daném adresáři |
Includes | jsou povoleny všechny vsuvky, tj. textové i CGI skripty |
IncludesNOEXEC | jsou povoleny vsuvky, ale jsou zakázány příkazy #include a #exec |
FollowSymLinks | jsou povoleny symbolické odkazy |
ExecCGI | jsou povoleny spouštět CGI skripty |
MultiViews | je povolena domluva s klientem |
parametr AllowOverride
None | jsou zakázány (ignorovány) soubory typy AccessFileName** |
All | je povoleno měnit úplně všechno |
Indexes | může se upravovat automatické vytváření obsahu souboru v aktuálním adresáři, pokud tam není soubor typu DirectoryIndex |
Options | je povolen příkaz Options (viz. Tabulka 1) |
Limit | Lze omezovat přístup do jednotlivých adresářů pomocí příkazů allow,order, a deny |
FileInfo | Lze upravovat popisy u souborů (příkazy AddEncoding, AddLanguage, Languagepriority, ...***) |
.htacces a .htpaswd
používají se pro autentizaci přístupu na stránky.Pokud to použijete,
nikdo se bez znalosti jména a hesla na vaše stránky nedostane.
je třeba při instalaci mít vybrán modul mod_auth (bývá většinou defaultně)
příklad
ee /usr/local/etc/apache22/Includes/postfixadmin.conf
jednotlivé aliasy nedávám přímo do http.conf,ale
vytvářím raději samostatné soubory v
/usr/local/etc/apache22/Includes
kde si soubor pojmenujete tak aby jste jej jednoznačně poznali a přidáte koncovku .conf,
tím řeknete Apachi,že je má natáhnout
#############
Alias /postfixadmin/ "/usr/local/www/postfixadmin/"
<Directory "/usr/local/www/postfixadmin">
Options Indexes
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
#############
NASTAVIT autentizaci
ee /usr/local/www/postfixadmin /admin/.htaccess
upravit na
AuthUserFile /usr/local/www/postfixadmin/admin/.htpasswd
AuthGroupFile /dev/null
AuthName "Postfix Admin sekce"
AuthType Basic
<limit GET POST/>
require valid-user
</limit>
htpasswd -c /usr/local/www/postfixadmin/admin/.htpasswd admin
-parametr -c vytvoří soubor při přidávání dalších uživatelů nepoužívat-původní by se přepsal
nastavit heslo
htpasswd /usr/local/www/postfixadmin/admin/.htpasswd admin
přiřadit práva a vlasnictví
chown www:www /usr/local/www/postfixadmin/admin/.ht* && chmod 750 /usr/local/www/postfixadmin/admin/.ht*
pomocí htacces se nechá celý web i,nebo stránky ,přesměrovat jinam
do htacces napíšeme
RewriteEngine On RewriteRule ^page\.html$ http://www.exemple.cz/page [R=permanent,L]
a přesměrujeme example.cz/page.html na www.exemple/page/
podmínka je mít nainstalován modul mod_rewrite.
AUTORIZACE
Použiji ještě jednou stejný příklad,jen jej trochu upravím
#############
Alias /postfixadmin/ "/usr/local/www/postfixadmin/"
<Directory "/usr/local/www/postfixadmin">
<Location /postfixadmin/>
Deny from all
Allow from .seznam.cz
</Location>
Order allow,deny
</Directory>
#############
order-je pořadí vyhodnocování
deny-zablokování
allow-povolení
allow a deny mohou mít tyto hodnoty
-from All - povoleno vše
-from mujkomp.domena.cz -pouze z jednoho stroje
-from .domena.cz - z domeny
-from 192.168.0.100 - pouze z jedné IP
-from 192.168.0 - z části IP adresy
-from 192.168.0.0/255.255.255.0 - z části IP adresy
-from 192.168.0.0/24 - z části IP adresy (CIDR maska)
Virtuální servery
Apache se nechá nastavit i pro použití virtuálních webů. Pokud by jste chtěli na jednom stroji provozovat více domén
je toto ta správná volba.
Upravíme soubor httpd-vhosts.conf
ee /usr/local/etc/apache22/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/www/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "/var/log/dummy-host.example.com-error_log"
CustomLog "/var/log/dummy-host.example.com-access_log common"
</VirtualHost>
jednotlivé volby mají následující význam
<VirtualHost *:80> | Místo hvězdičky možno použít jinou Ip adresu (pokud ji na serveru máte) a číslo portu na kterém web poslouchá |
ServerAdmin webmaster@dummy-host.example.com | Mail na správce virtuálního serveru |
DocumentRoot "/www/docs/dummy-host.example.com" | cesta ke kořenu webu |
ServerName dummy-host.example.com | Jméno virtuálního serveru |
ServerAlias www.dummy-host.example.com | Adresa virtuálního serveru |
ErrorLog "/var/log/dummy-host.example.com-error_log" | cesta k logu chybových hlášek |
CustomLog "/var/log/dummy-host.example.com-access_log common" | cesta k logu přístupových hlášek |
Upravíme soubor httpd.conf a vložíme do něho řádku
Include etc/apache22/extra/httpd-vhosts.conf
Nakonec musíme reloadovat apache
/usr/local/etc/rc.d/apache22 reload
Nezapomeňte, že k vašemu virtuálnímu webu musí vést také platné DNS záznamy
Můžeme mít 2 různé způsoby:
-máme jednu IP a na ní bude více domén
v tom případě všechny virtuální servery budou mít ve VirtualHost např. toto:
<VirtualHost 192.168.0.1:80>
-máme více rozhraní-IP adres(i virtuálních) a na každé z nich budem provozovat jeden webserver
v tom případě bude mít každý virtuální server ve VirtualHost uvedenou VLASTNÍ IP
CGI scripty
Apache dokáže spouštět i scripty psané v např. v pearlu.
Aby je dokázal spouštět potřebuje mít v configu volby
LoadModule modules/mod_cgi
je také vhodné použít alias na adresář cgi-bin,
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin"
Ještě je nutné povolit v tomto adresáři spouštění CGI skriptů.
<Directory "/usr/local/apache2/cgi-bin">
Options ExecCGI
</Directory>
instalace PHP
PHP
instalace PHP4-doporučuji PHP5
/usr/ports/lang/php4
/usr/ports/lang/php4-extensions
pokud se vám objeví následující chyba
/usr/X11R6 exists, but it is not a symlink. Installation cannot proceed.
,je třeba provést následující kroky
cd /usr/X11R6
find -d . -print | cpio -pvdam /usr/local
mv /usr/X11R6 /usr/X11R6.backup
ln -s /usr/local /usr/X11R6
cp /usr/local/libexec/apache22/libphp4.so /usr/local/etc/apache22/
instalace PHP5
cd /usr/ports/lang/php5 && make install clean
nutno zaskrtnout
[X] APACHE2 Use apache 2.x instead of apache 1.3.x
[X] APACHE Build Apache Module
zeditovat konfigurak apache
edit /usr/local/etc/apache22/httpd.conf
zde zapsat(povolit)
LoadModule php5_module libexec/apache22/libphp5.so
AddType application/x-httpd-php .php .php3 .php4 .php5 .html .htm
#(stacily by jen prvni 2,ale php3-5 mužem použít pri laděni stránek pod různými
verzemi php,.html .htm zase umožní prohnat html soubory přes php engine-doporučuji )
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html index.html.var
Nefunkční PHP
Může se stát, že po instalaci php apache přestane startovat. Tváří se, že je vše v pořádku, nenaběhne. Viz níže.
/usr/local/etc/rc.d/apache22 restart
Performing sanity check on apache22 configuration:
Syntax OK
apache22 not running? (check /var/run/httpd.pid).
/usr/local/etc/rc.d/apache22 status
apache22 is not running.
ve /var/log/httpd-error není žádný záznam o chybě, jen ve /var/log/mesages je hláška
Feb 12 14:05:05 backup kernel: pid 76615 (httpd), uid 0: exited on signal 11 (core dumped)
problém způsobuje nějaký modul v php. Pokud v configu apache zakomentujete řádku, která natahuje PHP, tak apache naběhne.
Takže je třeba jít do /usr/local/etc/php/extensions.ini a metodou pokusu a omylu zakomentovávat jednotlivé řádky.
Mě dělal problém tento.
#extension=simplexml.so
Poté je třeba znova zkontrolovat /var/log/httpd-error, zda na něm nezávisí nějaký jiný modul a ten také zakomentovat(odinstalovat).
Jeden z kolegů mi radil, že stačí mezi sebou některé řádky v tomto souboru přeházet, ale nezkoušel jsem to, protože tento problémový modul nepotřebuji.
PHP Extensions
nainstalovat PHP Extensions
cd /usr/ports/lang/php5-extensions && make config && make install clean
minimalni rozsireni nutny pro User managera(viz FTP) jsou
[X] MYSQL MySQL database support
[X] PCRE Perl Compatible Regular Expression support
[X] POSIX POSIX-like functions
[X] SESSION session support
[X] je nutno vybrat *apache2*,pokud jej pouzivate
resetnout apache
apachectl restart
vytvorit konfigurák php.ini
cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini
funkčnost si můžeme zkusit vytvořením souboru index.php
ee /usr/local/www/apache22/data/index.php
a do něho vložíme následující text
<?php
phpinfo ();
?>
poté jen zadáme do prohlížeče
http://VaseDomena/index.php
a měla by vám naskočit stránka s výpisem nastavení Apache a PHP
PEAR
je rozšíření pro PHP
instalace
cd /usr/ports/devel/pear
make all install
další doduly do pearu nainstalujete příkazem
pear install nazev_modulu
např
pear install HTTP_WebDAV_Server
Užitečnosti
Spuštení serveru Apache:
apachectl start
Restartování serveru Apache:
apachectl restart
Podobný príkaz jako apachectl restart je také apachectl graceful,
který znovu nacte své konfiguracní soubory a nerestartuje celý server
Apache:
apachectl graceful
Instalace chatu
Stáhnout jej můžete zde
Pcpin Chat
Vytvořit adresář mkdir /usr/local/www/chat
nakopírujte do něj rozbalené soubory
nastavit práva a možnost zápisu do
chat/config/db.inc.php
chown -R www:www /usr/local/www/chat && chmod 764 /usr/local/www/chat
cd /usr/local/www/chat/admin
řekneme apachi kde hledat soubory
Vytvoříme soubor chat.conf
ee /usr/local/etc/apache22/Includes/chat.conf
a zapíšeme do něj
Alias /chat "/usr/local/www/chat/"
<Directory "/usr/local/www/chat/">
Options Indexes
AllowOverride AuthConfig
Order deny,allow
allow from all
# allow from 127.0.0.1
</Directory>
reloadneme apache
/usr/local/etc/rc.d/apache22 reload
dále je třeba vytvořit DB ,instalační script ji bohužel nevytvoří.Založíme zároven nového uživatele a nastavíme mu přístup k db chat.
Použijeme tyto hodnoty:
#uzivatel=nový uživatel
#heslo=heslo uživatele
#chat=databáze pro kterou zakládáme uživatele
mysql -u root -pVase_Heslo
USE mysql;
INSERT INTO user (Host, User, Password) VALUES ('localhost','uzivatel',password('heslo'));
INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Drop_priv, Create_priv) VALUES ('localhost', 'chat', 'uzivatel', 'Y', 'Y', 'Y', 'Y', 'Y','Y');
GRANT USAGE ON chat.* TO uzivatel@localhost;
GRANT SELECT, INSERT, DELETE, UPDATE ON chat.* TO uzivatel@localhost;
FLUSH PRIVILEGES;
CREATE DATABASE chat COLLATE utf8_czech_ci;
crtl+ C
spustíme instalaci
http://vas_web/chat/install.php
instalaci spustíme tlačítkem Start installation
odsouhlasíme licenci
Instalátor si zkontroluje zda má vše co potřebuje-pokud ne ,musíte si vyžadované náležitosti opravit
Vyplnte jméno roota pro DB,jeho heslo, heslo databáze(chat) a pokračujte
Script si jen zkontroluje jestli se v db nenachází předcházející verze chatu
Vyplníte uživatele který bude administrátorem
Zkontrolujte údaje a pokračujte tlačítkem install
Instalace je kompletní. Smažte adresář install příkazem
rmdir -R /usr/local/www/chat/install
a přihlašte se do aplikace
Zde si můžete nastavit chat k obrazu svému. Úplně dole je nastavení jazyka. Můžete si natáhnou češtinu (z home stránek chatu) nebo ode mě
ZDE.Nezapomente ji aktivovat.