Mam serwer na Debianie 3.1 sarge i miałem na nim apache2, wpadłem na wielce genialny pomysł jak co kilka miesięcy, żeby apdejtnąć apache2, no to jak zawsze bez zastanowienia
apt-get install apache2
wykryło nową wersję, zainstalowało [przy tym wywaliło mody jak zawsze] doinstalowałem mody, odpalam stronę serwera i ... :|
Jak otwieram stronę to zamiast otwierać plik PHP apache wywala okienko dialogowe w przeglądarce "zapisz plik jako" i mogę sobie skrypt co najwyżej na dysku zapisać.
Pierwsze co, konfiguracja.. ale konfiguracja nie tknięta po ostatnim apache2 przez apdejtem. no to pokombinowałem z modami, też wszystko jest OK, mody są zainstalowane, w konfiguracji są pliki CONFIG i LOAD, w modach aktywnych są linki symboliczne i dalej nic, restart apacza i nic. wywaliłem apacza i wszystkie mody przez apt-remove, zainstalowałem na nowo i dokładnie to samo...
Eh, nie wiem co ja sknociłem... A bardzo potrzebuje apache na tym serwie.
Konfiguracja...
</delphi>Based upon the NCSA server configuration files originally by Rob McCool.
Changed extensively for the Debian package by Daniel Stone daniel@sfarc.net
and also by Thom May thom@debian.org.
ServerRoot: The top of the directory tree under which the server's
configuration, error, and log files are kept.
- NOTE! If you intend to place this on an NFS (or otherwise network)
- mounted filesystem then please read the LockFile documentation
- (available at URL:http://www.apache.org/docs/mod/core.html#lockfile);
- you will save yourself a lot of trouble.
ServerRoot "/etc/apache2"
- The LockFile directive sets the path to the lockfile used when Apache
- is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
- USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
- its default value. The main reason for changing it is if the logs
- directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
- DISK. The PID of the main server process is automatically appended to
- the filename.
LockFile /var/lock/apache2/accept.lock
- PidFile: The file in which the server should record its process
- identification number when it starts.
PidFile /var/run/apache2.pid
Timeout: The number of seconds before receives and sends time out.
Timeout 300
- KeepAlive: Whether or not to allow persistent connections (more than
- one request per connection). Set to "Off" to deactivate.
KeepAlive On
- MaxKeepAliveRequests: The maximum number of requests to allow
- during a persistent connection. Set to 0 to allow an unlimited amount.
- We recommend you leave this number high, for maximum performance.
MaxKeepAliveRequests 100
- KeepAliveTimeout: Number of seconds to wait for the next request from the
- same client on the same connection.
KeepAliveTimeout 15
Server-Pool Size Regulation (MPM specific)
prefork MPM
StartServers ......... number of server processes to start
MinSpareServers ...... minimum number of server processes which are kept spare
MaxSpareServers ...... maximum number of server processes which are kept spare
MaxClients ........... maximum number of server processes allowed to start
MaxRequestsPerChild .. maximum number of requests a server process serves
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 20
MaxRequestsPerChild 0
</IfModule>pthread MPM
StartServers ......... initial number of server processes to start
MaxClients ........... maximum number of server processes allowed to start
MinSpareThreads ...... minimum number of worker threads which are kept spare
MaxSpareThreads ...... maximum number of worker threads which are kept spare
ThreadsPerChild ...... constant number of worker threads in each server process
MaxRequestsPerChild .. maximum number of requests a server process serves
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>perchild MPM
NumServers ........... constant number of server processes
StartThreads ......... initial number of worker threads in each server process
MinSpareThreads ...... minimum number of worker threads which are kept spare
MaxSpareThreads ...... maximum number of worker threads which are kept spare
MaxThreadsPerChild ... maximum number of worker threads in each server process
MaxRequestsPerChild .. maximum number of connections per server process (then it dies)
<IfModule perchild.c>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0
AcceptMutex fcntl
</IfModule>User www-data
Group www-data
- 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
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agentGlobal error log.
ErrorLog /var/log/apache2/error.log
Include module configuration:
Include /etc/apache2/mods-enabled/.load
Include /etc/apache2/mods-enabled/.confInclude all the user configurations:
Include /etc/apache2/httpd.conf
Include ports listing
Include /etc/apache2/ports.conf
Include generic snippets of statements
Include /etc/apache2/conf.d/[^.#]*
#Let's have some Icons, shall we?
Alias /icons/ "/usr/share/apache2/icons/"
<Directory "/usr/share/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>Set up the default error docs.
- Customizable error responses come in three flavors:
- plain text 2) local redirects 3) external redirects
- Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.htmlPutting this all together, we can Internationalize error responses.
- We use Alias to redirect any /error/HTTP_<error>.html.var response to
- our collection of by-error message multi-language collections. We use
- includes to substitute the appropriate text.
- You can modify the messages' appearance without changing any of the
- default HTTP_<error>.html.var files by adding the line;
- Alias /error/include/ "/your/include/path/"
<ifmodule mod_negotiation.c="mod_negotiation.c"> <ifmodule mod_include.c="mod_include.c"> Alias /error/ "/usr/share/apache2/error/"
- which allows you to create your own set of files by starting with the
- /usr/local/apache2/error/include/ files and
- copying them to /your/include/path/, even on a per-VirtualHost basis.
</ifmodule> </ifmodule><Directory "/usr/share/apache2/error"> AllowOverride None Options IncludesNoExec AddOutputFilter Includes html AddHandler type-map var Order allow,deny Allow from all LanguagePriority en es de fr ForceLanguagePriority Prefer Fallback </Directory> ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var ErrorDocument 410 /error/HTTP_GONE.html.var ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
DirectoryIndex index.html index.cgi index.pl index.php4 index.php index.xhtml
- UserDir is now a module
#UserDir public_html
#UserDir disabled root#<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options Indexes SymLinksIfOwnerMatch IncludesNoExec
#</Directory>
AccessFileName .htaccess
<Files ~ "^.ht">
Order allow,deny
Deny from all
</Files>UseCanonicalName Off
TypesConfig /etc/mime.types
DefaultType text/plainHostnameLookups Off
IndexOptions FancyIndexing VersionSort
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*This really should be .jpg.
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif coreAddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
- This is from Matty J's patch. Anyone want to make the icons?
#AddIcon /icons/dirsymlink.jpg ^^SYMDIR^^
#AddIcon /icons/symlink.jpg ^^SYMLINK^^DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.htmlIndexIgnore .??* *~ # HEADER RCS CVS *,t
AddEncoding x-compress Z
AddEncoding x-gzip gz tgzAddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .et
AddLanguage fr .fr
AddLanguage de .de
AddLanguage el .el
AddLanguage it .it
AddLanguage ja .ja
AddLanguage pl .po
AddLanguage ko .ko
AddLanguage pt .pt
AddLanguage no .no
AddLanguage pt-br .pt-br
AddLanguage ltz .ltz
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .se
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddLanguage zh-tw .twLanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw
AddDefaultCharset ISO-8859-2
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5For russian, more than one charset is used (depends on client, mostly):
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjisAddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phpsAddType application/x-tar .tgz
To use CGI scripts outside /cgi-bin/:
AddHandler cgi-script .cgi
To use server-parsed HTML files
<FilesMatch ".shtml(..+)?$">
SetOutputFilter INCLUDES
</FilesMatch>If you wish to use server-parsed imagemap files, use
#AddHandler imap-file map
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4.0" force-response-1.0
BrowserMatch "Java/1.0" force-response-1.0
BrowserMatch "JDK/1.0" force-response-1.0
- The following directive disables redirects on non-GET requests for
- a directory that does not include the trailing slash. This fixes a
- problem with Microsoft WebFolders which does not appropriately handle
- redirects for folders with DAV methods.
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
- Allow server status reports, with the URL of http://servername/server-status
- Change the ".your_domain.com" to match your domain to enable.
#<Location /server-status>
3. SetHandler server-status
4. Order deny,allow
5. Deny from all
6. Allow from .your_domain.com
#</Location>
- Allow remote server configuration reports, with the URL of
- http://servername/server-info (requires that mod_info.c be loaded).
- Change the ".your_domain.com" to match your domain to enable.
#<Location /server-info>
4. SetHandler server-info
5. Order deny,allow
6. Deny from all
7. Allow from .your_domain.com
#</Location>Include the virtual host configurations:
Include /etc/apache2/sites-enabled/[^.#]*