|—————————————————————————————|
|/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\/Q\|
|—————————————————————————————|
|Anleitung zum installieren eines vollfunktionsfähigen webservers auf Debian (Linux) mit|
|Updates/nginx/PHP5/SQL/FastCGI/FTP/Userrechte |
| |
|Erstellt von ~~~~~~~~ Darkhammer ~~~~~~~~ |
| |
|Kopieren ausdrücklich erwünscht. Unverändert mit meinem Namen. Danke. | |
|—————————————————————————————|
|\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/\Q/|
|—————————————————————————————|
~ / 1. Debian Updaten
~ / 2. ProFTPD installieren
~ / 3. FTP User + Userrechte anlegen
~ / 4. nginx compilieren
~ / 5. php5 & SQL installieren
~ / 6. FastCGI compilieren
Anmerkung: „B: “ steht für Befehl welchen es in der root Console auszuführen gilt
————————————————————————
////////////////////////////////////////////////////////////////////////
~ 1. / Debian Updaten<000000000000000000000000000000000000000000 0000000>
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\
————————————————————————
Folgenden Befehl ausführen:
################################################## ################################################## ###################
B: nano /etc/apt/sources.list
################################################## ################################################## ###################
Alles löschen und folgendes rein kopieren. Von A-B:
################################################## ################################################## ###################
### A ###
# Standard Debian Mirrors
deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://ftp2.de.debian.org/debian/ squeeze main contrib non-free
### B ###
################################################## ################################################## ###################
Danach Befehle ausführn:
################################################## ################################################## ###################
B: cd /etc/apt
B: apt-get install debian-archive-keyring
B: apt-get update
B: apt-get upgrade
B: aptitude update
B: aptitude upgrade
B: apt-get clean
################################################## ################################################## ###################
————————————————————————
////////////////////////////////////////////////////////////////////////
~ 2. / Installieren von ProFTP<0000000000000000000000000000000000000000>
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\
————————————————————————
Befehl ausführen und falls man gefragt wird für „Standalone“ entscheiden:
################################################## ################################################## ###################
B: aptitude install proftpd
################################################## ################################################## ###################
conf Datei aufrufen:
################################################## ################################################## ###################
B: nano /etc/proftpd/proftpd.conf.
################################################## ################################################## ###################
(Am Ende eintragen)
################################################## ################################################## ###################
<Global>
RequireValidShell off
</Global>
DefaultRoot ~ ftpuser
<Limit LOGIN>
DenyGroup !ftpuser
</Limit>
################################################## ################################################## ###################
Suchen und auf off setzen fals ipv6 nicht benötigt oder vorhanden:
################################################## ################################################## ###################
UseIPv6 off
################################################## ################################################## ###################
Befehle ausführen:
################################################## ################################################## ###################
B: /etc/init.d/proftpd restart
B: addgroup ftpuser
B: adduser Benutzername -shell /bin/false -home /usr/local/nginx/html
B: adduser Benutzername ftpuser
################################################## ################################################## ###################
Dann mit folgendem Befehlen ins Verzeichnis wechseln wo der html Ordner
bzw. der Ordner liegt der die Rechte für den FTP Benutzer braucht
in unserem fall html:
################################################## ################################################## ###################
B: cd /usr/local/nginx
################################################## ################################################## ###################
Danach folgenden Befehl eingeben:
################################################## ################################################## ###################
B: chown -R Benutzername:Benutzername html
################################################## ################################################## ###################
Das geht natürlich auch ohne extra ins Verzeichnis zu wechseln:
################################################## ################################################## ###################
B: chown -R Benutzername:Benutzername /usr/local/nginx/html
################################################## ################################################## ###################
————————————————————————
////////////////////////////////////////////////////////////////////////
~ 3. / nginx compilieren<00000000000000000000000000000000000000 00000000>
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\
————————————————————————
################################################## ################################################## ###################
B: apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev build-essential
B: cd /tmp
B: wget http://sysoev.ru/nginx/nginx-0.6.34.tar.gz
B: tar xvfz nginx-0.6.34.tar.gz
B: cd nginx-0.6.34
B: ./configure –sbin-path=/usr/local/sbin –with-http_ssl_module
B: make
B: make install
################################################## ################################################## ###################
nginx init Script erstellen:
################################################## ################################################## ###################
B: nano /etc/init.d/nginx
################################################## ################################################## ###################
Danach das untenstehen einfügen. Von A-B:
################################################## ################################################## ###################
### A ###
#! /bin/sh
### ANFANG INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### ENDE INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/nginx
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
set -e
case „$1“ in
start)
echo -n „Starting $DESC: “
start-stop-daemon –start –quiet –pidfile /usr/local/nginx/logs/nginx.pid –exec $DAEMON — $DAEMON_OPTS
echo „$NAME.“
;;
stop)
echo -n „Stopping $DESC: “
start-stop-daemon –stop –quiet –pidfile /usr/local/nginx/logs/nginx.pid –exec $DAEMON
echo „$NAME.“
;;
restart|force-reload)
echo -n „Restarting $DESC: “
start-stop-daemon –stop –quiet –pidfile /usr/local/nginx/logs/nginx.pid –exec $DAEMON
sleep 1
start-stop-daemon –start –quiet –pidfile /usr/local/nginx/logs/nginx.pid –exec $DAEMON — $DAEMON_OPTS
echo „$NAME.“
;;
reload)
echo -n „Reloading $DESC configuration: “
start-stop-daemon –stop –signal HUP –quiet –pidfile /usr/local/nginx/logs/nginx.pid –exec $DAEMON
echo „$NAME.“
;;
*)
N=/etc/init.d/$NAME
echo „Usage: $N {start|stop|restart|force-reload}“ >&2
exit 1
;;
esac
exit 0
### B ###
################################################## ################################################## ###################
Jetzt dem Script Execute-Rechte geben und nginx starten:
################################################## ################################################## ###################
B: chmod 755 /etc/init.d/nginx
B: /etc/init.d/nginx start
################################################## ################################################## ###################
Autostart adden:
################################################## ################################################## ###################
B: supdate-rc.d nginx defaults
################################################## ################################################## ###################
Fertig. IP im Browser eingeben und nen Ast freuen.
————————————————————————
////////////////////////////////////////////////////////////////////////
~ 4. / PHP5 & MySql installieren<0000000000000000000000000000000000000 0>
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\
————————————————————————
Befehle ausführen:
################################################## ################################################## ###################
B: apt-get install php5-cgi php5-mysql php5-curl
B: apt-get install php5-gd php5-idn php-pear php5-imagick php5-imap
B: apt-get install php5-mcrypt php5-memcache php5-mhash php5-ming
B: apt-get install php5-pspell php5-recode php5-snmp php5-sqlite
B: apt-get install php5-tidy php5-xmlrpc php5-xsl
################################################## ################################################## ###################
php.ini bearbeiten:
################################################## ################################################## ###################
B: nano /etc/php5/cgi/php.ini
################################################## ################################################## ###################
Am Ende hinzufügen. Von A-B:
################################################## ################################################## ###################
### A ###
cgi.fix_pathinfo = 1
### B ###
################################################## ################################################## ###################
————————————————————————
////////////////////////////////////////////////////////////////////////
~ 5. / FastCGI compilieren<00000000000000000000000000000000000000 000000>
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\
————————————————————————
Compilieren:
################################################## ################################################## ###################
B: wget http://www.lighttpd.net/download/spa…i-1.6.3.tar.gz
B: tar xfvz spawn-fcgi-1.6.3.tar.gz
B: cd spawn-fcgi-1.6.3
B: ./configure
B: make
B: make install
################################################## ################################################## ###################
Daemon starten:
################################################## ################################################## ###################
B: spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
################################################## ################################################## ###################
In den Autostart eintragen:
################################################## ################################################## ###################
B: nano /etc/rc.local
################################################## ################################################## ###################
und diese Zeile vor dem exit eintragen:
################################################## ################################################## ###################
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
################################################## ################################################## ###################
nginx.conf anpassen:
################################################## ################################################## ###################
B: nano /usr/local/nginx/conf/nginx.conf
################################################## ################################################## ###################
Und folgenden Inhalt einfügen. von A-B:
################################################## ################################################## ###################
## A ##
user www-data;
worker_processes 2;
pid /var/run/nginx.pid;
events {
worker_connections 500;
# multi_accept on;
}
http {
##——————————————–##
# ####################### #
# # Basis Einstellungen # #
# ####################### #
##——————————————–##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /usr/local/nginx/conf/mime.types;
default_type application/octet-stream;
####### Basis Einstellungen ENDE #######
##——————————————–##
# ######################### #
# # Logging Einstellungen # #
# ######################### #
##——————————————–##
access_log /usr/local/nginx/logs/access.log;
error_log /usr/local/nginx/logs/error.log;
####### Logging Einstellungen ENDE #######
##——————————————–##
# ###################### #
# # Gzip Einstellungen # #
# ###################### #
##——————————————–##
gzip on;
gzip_disable „msie6“;
# gzip_vary on;
# gzip_proxied any;
gzip_comp_level 2;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
####### Gzip Einstellungen ENDE #######
##——————————————–##
# ################################ #
# # Virtuelle Host Einstellungen # #
# ################################ #
##——————————————–##
server {
listen 80;
server_name domain1.de www.domain1.de;
root /usr/local/nginx/html/domain1.de/www;
index index.php index.html;
location ~ \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params;
}
}
# server {
# listen 80;
# server_name domain2.de www.domain2.de;
# root /usr/local/nginx/html/domain2.de/www;
# index index.php index.html;
#
# location ~ \.php$ {
# fastcgi_index index.php;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# include /usr/local/nginx/conf/fastcgi_params;
# }
# }
#include /usr/local/nginx/conf.d/*.conf;
#include /usr/local/nginx/sites-enabled/*;
}
####### Virtuelle Host Einstellungen ENDE #######
##——————————————–##
# ######################## #
# # e-Mail Einstellungen # #
# ######################## #
##——————————————–##
#mail {
# # Sample authentication script:
# # http://wiki.nginx.org/ImapAuthentica…pachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities „TOP“ „USER“;
# # imap_capabilities „IMAP4rev1“ „UIDPLUS“;
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
####### e-Mail Einstellungen ENDE #######
## B ##
################################################## ################################################## ###################
nginx Reload durchführen:
################################################## ################################################## ###################
B: /etc/init.d/nginx reload
################################################## ################################################## ###################
test.php erstellen:
################################################## ################################################## ###################
B: nano /usr/local/nginx/html/domain1.de/www
################################################## ################################################## ###################
Eintragen:
################################################## ################################################## ###################
<?php
phpinfo();
?>
################################################## ################################################## ###################
Im Browser aufrufen (http://ip/test.php) und nochmal nen Ast freuen da PHP nun läuft.
Ps: Das www Verzeichnis ist nun: /usr/local/nginx/html.
————————————————————————
////////////////////////////////////////////////////////////////////////
Sonstiges und nützliches<000000000000000000000000000000000000000 0000000>
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\
————————————————————————
Prosess der in Benutzung ist suchen und killen:
B: fuser /var/cache/apt/archives/lock (Als Beispiel)
B: kill -9 Nr.
Verzeichniss auflisten:
B: ls
Verzeihnisse auflisten um zu sehen welchen Benutzer sie haben:
B: ls -l
ProFTPD / nginx restarten/reloaden/stoppen:
B: /etc/init.d/proftpd restart
B: /etc/init.d/proftpd reload
B: /etc/init.d/proftpd start
B: /etc/init.d/proftpd stop
B: /etc/init.d/nginx restart
B: /etc/init.d/nginx reload
B: /etc/init.d/nginx start
B: /etc/init.d/nginx stop
————————————————————————
////////////////////////////////////////////////////////////////////////
Missing (Externe Quellen ersuchen)<000000000000000000000000000000000000>
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\
————————————————————————
Folgendes Packet ist nicht auf dem Debian Servern existent.#
Bitte externe Quellen ersuchen.
Packet:
php5-mhash