Author: F4RR3LL|sven
E-Mail: sven.richter@nixhelp.de
Stand: 06.04.2008
Bei CentOS ist Lighttpd nicht in den normalen Quellen per yum enthalten, auch phpmyadmin werdet ihr dort nicht finden. Darum müssen wir uns das ein bisschen anpassen
cd /usr/src wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm rm -rf rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Ab jetzt lässt sich Lighttpd auch per yum installieren.
yum install lighttpd lighttpd-fastcgi \ php-cli php-mysql php-gd php-pear php-xml php-xmlrpc \ mysql mysql-server phpmyadmin openssl
mkdir /var/run/lighttpd chown lighttpd:lighttpd /var/run/lighttpd cd /etc/lighttpd mv /etc/lighttpd/lighttpd.conf /etc/lighttpd/lighttpd.conf.OLD mkdir /srv/www/port80 mkdir /srv/www/port443 rm -rf /srv/www/lighttpd chown -R lighttpd:lighttpd /srv/www
cat > /etc/lighttpd/lighttpd.conf << "EOF" server.username = "lighttpd" server.groupname = "lighttpd" server.document-root = "/srv/www/port80/" server.name = "www.DEINEDOMAIN.TLD" server.errorlog = "/var/log/lighttpd/error.log" accesslog.filename = "/var/log/lighttpd/access.log" server.follow-symlink = "enable" server.dir-listing = "disable" server.max-keep-alive-idle = 10 server.pid-file = "/var/run/lighttpd.pid" server.indexfiles = ( "index.xhtml", "index.html", "index.htm", "index.php", ) server.modules = ( "mod_rewrite", "mod_redirect", "mod_alias", "mod_access", "mod_auth", "mod_status", "mod_fastcgi", "mod_evasive", "mod_accesslog" ) mimetype.assign = ( ".rpm" => "application/x-rpm", ".pdf" => "application/pdf", ".sig" => "application/pgp-signature", ".spl" => "application/futuresplash", ".class" => "application/octet-stream", ".ps" => "application/postscript", ".torrent" => "application/x-bittorrent", ".dvi" => "application/x-dvi", ".gz" => "application/x-gzip", ".pac" => "application/x-ns-proxy-autoconfig", ".swf" => "application/x-shockwave-flash", ".tar.gz" => "application/x-tgz", ".tgz" => "application/x-tgz", ".tar" => "application/x-tar", ".zip" => "application/zip", ".mp3" => "audio/mpeg", ".m3u" => "audio/x-mpegurl", ".wma" => "audio/x-ms-wma", ".wax" => "audio/x-ms-wax", ".ogg" => "application/ogg", ".wav" => "audio/x-wav", ".gif" => "image/gif", ".jpg" => "image/jpeg", ".jpeg" => "image/jpeg", ".png" => "image/png", ".xbm" => "image/x-xbitmap", ".xpm" => "image/x-xpixmap", ".xwd" => "image/x-xwindowdump", ".css" => "text/css", ".html" => "text/html", ".htm" => "text/html", ".js" => "text/javascript", ".asc" => "text/plain", ".c" => "text/plain", ".cpp" => "text/plain", ".log" => "text/plain", ".conf" => "text/plain", ".text" => "text/plain", ".txt" => "text/plain", ".dtd" => "text/xml", ".xml" => "text/xml", ".mpeg" => "video/mpeg", ".mpg" => "video/mpeg", ".mov" => "video/quicktime", ".qt" => "video/quicktime", ".avi" => "video/x-msvideo", ".asf" => "video/x-ms-asf", ".asx" => "video/x-ms-asf", ".wmv" => "video/x-ms-wmv", ".bz2" => "application/x-bzip", ".tbz" => "application/x-bzip-compressed-tar", ".tar.bz2" => "application/x-bzip-compressed-tar", # default mime type "" => "application/octet-stream", ) static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) url.access-deny = ( "~", ".inc" ) $HTTP["url"] =~ "\.pdf$" { server.range-requests = "disable" } fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/var/run/lighttpd/php-fastcgi.socket", "bin-path" => "/usr/bin/php-cgi" ) ) ) $SERVER["socket"] == ":443" { ssl.engine = "enable" ssl.pemfile = "/etc/lighttpd/ssl/lighttpd.pem" $HTTP["host"] == "www.domain.de:443" { server.document-root = "/srv/www/port443/" accesslog.filename = "/var/log/lighttpd/admin.log" status.status-url = "/server-status" status.config-url = "/server-config" } } EOF
Nun widmen wir uns dem ssl Teil
mkdir -p /etc/lighttpd/ssl openssl req -new -nodes -x509 -keyout /etc/lighttpd/ssl/lighttpd.pem -out /etc/lighttpd/ssl/lighttpd.pem -days 365 chown lighttpd:lighttpd /etc/lighttpd/ssl/lighttpd.pem chmod 600 /etc/lighttpd/ssl/lighttpd.pem
Nun muss noch die php.ini angepasst werden.
nano /etc/php.ini
In der letzten Zeile muss folgender Code eingefügt werden.
cgi.fix_pathinfo = 1
Nun müssen wir noch dafür sorgen das der Lighttpd auch nach einem Reboot wieder startet, anschließend starten wir den lighty gleich→
chkconfig –-level 235 lighttpd on /etc/init.d/lighttpd start
Phpmyadmin erreichbar machen
ln -s /usr/share/phpmyadmin/ /srv/www/port443/phpmyadmin chown -R lighttpd:lighttpd /usr/share/phpmyadmin/
Jetzt müssen wir noch dafür sorgen das wir auch uns später auch einloggen können→
nano /usr/share/phpmyadmin/config.inc.php
hier sucht ihr
/* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie';
und ändert das in
/* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'http';
Auch mysql startet nicht automatisch neu. Also werden wir auch hier die entsprechenden Einstellungen vornehmen und es dann gleich starten.
chkconfig –-level 235 mysqld on /etc/init.d/mysqld start
Nun setzen wir das root Passwort für mysql
mysqladmin -u root password deinpasswort
Um zu testen ob alles passt kannst du Dir php infos anschaun.
cat >/srv/www/port80/info.php << "EOF" <?php phpinfo(); ?> EOF
mit http://deinserver/info.php hast Du nun die Übersicht ;)
Viel Spaß damit,
Sven