Sturbi's Home

  • Gallery
  • Modellflug
  • Datenschutz
  • Impressum

Blog

  • Allgemein (11)
    • Sprüche (6)
  • Computer (25)
    • Linux (16)
      • Nagios (5)
      • Nginx (4)
      • Postfix (3)
      • Subversion (1)
    • VMware (3)
    • Windows (9)
      • Powershell (8)
  • Fotografie (25)
  • Reise (7)
    • Hawaii (4)
    • Irland (1)
Wenn du etwas so machst,
wie du es seit zehn Jahren gemacht hast,
dann sind die Chancen groß,
daß du es falsch machst.

Charles F. Kettering amerikanischer Ingenieur * 29.08.1876, † 25.11.1958

HTC Desire

29. April 2010 by Sturbi Kategorie: Allgemein

so, ich war mal wieder drann mit einem neuen Telefon.
Android 2.1, Exchange Server Client(aka Zarafa tauglich), GPS, UMTS, Kamera, Webbrowser bla bli blupsi.
Alles was ein Telefon braucht.

nur die WordPress App stürtzt beim Blog schreiben ab.
irgendwie doof.

Spruch des Tages

27. April 2010 by Sturbi Kategorie: Sprüche

Der frühe Vogel is mir schnuppe,
den Speck bekommt eh die zweite Maus!

Nginx, PHP-FPM und WordPress auf Debian Lenny

23. April 2010 by Sturbi Kategorie: Linux, Nginx

Nachdem unser Nginx nun statischen Content ausliefern kann, kommen wir heute zum Thema PHP.
Realisiert wird das ganze über FastCGI mit PHP-FPM

also runterladen und patchen:

cd /usr/local/src
wget http://de.php.net/get/php-5.2.13.tar.gz/from/this/mirror
tar xvfz php-5.2.13.tar.gz
wget http://php-fpm.org/downloads/php-5.2.13-fpm-0.5.13.diff.gz
gzip -d php-5.2.13-fpm-0.5.13.diff.gz
patch -p1 -d php-5.2.13 < php-5.2.13-fpm-0.5.13.diff

So. Jetzt nur noch php compilieren *g*


cd php-5.2.13
./configure --enable-fastcgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --with-xsl --with-pcre-regex --with-mysqli --with-mysql --enable-exif --with-gd --with-ldap --with-pdo-mysql --with-bz2 --with-ttf --with-t1lib --with-jpeg-dir=/usr --with-png-dir=/usr --with-gettext
make
make install

Wenn Configure mit fehlenden Librarrys abbricht, die entsprechenden „-dev“ Pakete suchen und installieren.
z.B.

apt-cache search libjpeg
apt-get install libjpeg62-dev

Unsere php.ini liegt dann unter „/usr/local/lib/php.ini“ Hier müssen wir die üblichen Anpassungen vornehmen, besonders das „extension_dir“ anpassen!

In der Datei „/usr/local/etc/php-fpm.conf“ ist dann an 4 Stellen als User/Gruppe „www-data“ einzutragen.

Dann lässt sich der FCGI Prozessmanager starten:

/usr/local/sbin/php-fpm start

Jetzt müssen wir unserem Nginx sagen, was er mit .php Datein machen soll und fertig sind wir.

location ~ (.*)\.php$ {
fastcgi_pass localhost:9000; # port where FastCGI processes were spawned
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; # same path as above

fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

# required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
}

Nginx neu starten und schon sollten Php-Scripte ausgeführt werden. Am besten probiert man das mit einer kleinen phpinfo.php

Wer das WordPress als root des Nginx angelegt hat, braucht nur das Rewrite für die „/“ Location anpassen:

if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?q=$1 last;
}

Dumm nur, wenn man das WordPress in einem Unterverzeichniss hat z.B. „/blog/“, aber auch das kann man einfach lösen:

location /blog {
root /var/www;
index index.php;

if (-f $request_filename) {
break;
}

if (!-e $request_filename) {
rewrite ^(.+)$ /blog/index.php?$1 last;}
}

Quellen:
http://n3m0.net/blog/2010/04/03/php-fpm-auf-debian-5-0-lenny/
http://elasticdog.com/2008/02/howto-install-wordpress-on-nginx/

Spruch des Tages

23. April 2010 by Sturbi Kategorie: Allgemein, Sprüche

Um eine fachliche Diskussion zu führen, sollte man auch Ahnung vom Fach haben …

Nginx auf Debian installieren / compilieren

21. April 2010 by Sturbi Kategorie: Linux, Nginx

Ich habe auch mal mit Nginx experiementiert und versuche greade meinen Server vom Apache umzustellen.

Für die Bequemen - Nginx unter Debian installieren:

apt-get install nginx

und für alle die gern die aktuelle Version haben geht es dann weiter:

apt-get remove nginx
echo "nginx hold" | dpkg --set-selections

so haben wir schon mal das Initscript und diverse Verzeichnisse und Debian versucht nicht mehr das Paket zu aktualisieren/installieren.

cd /usr/src
wget http://nginx.org/download/nginx-0.7.65.tar.gz
tar xvfz nginx-0.7.65.tar.gz
cd nginx-0.7.65

./configure --prefix=/usr --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin --user=www-data --group=www-data --http-log-path=/var/log/nginx/access.log --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module

make && make install

dazu noch im Verzeichniss /etc/nginx/ die Datei nginx.conf anpassen (vorher die alte Datei umbenennen und neu anlegen!)

user www-data;
worker_processes 4;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;
keepalive_timeout 10 10;

gzip on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

server {
listen *:80;
server_name www.sturbi.de;
root /var/www;

location / {
root /var/www;
index index.php;
}
}
server {
listen 443;

ssl on;
ssl_certificate /etc/ssl/certs/www.sturbi.de.pem;
ssl_certificate_key /etc/ssl/private/www.sturbi.de.key;

server_name www.sturbi.de;

location / {
root /var/www;
index index.html;

}
}
}

/etc/init.d/nginx start

und nginx sollte unseren Statischen Content wieder ausliefern.
und morgen basteln wir uns ein PHP-FPM und richten WordPress ein.

Subversion + Apache + LDAP

26. März 2010 by Sturbi Kategorie: Linux, Subversion

Irgend wann stand ich vor der Aufgabe, das vorhandene CVS durch SVN zu ersetzen(ok, die größere Aufgabe war die Entwickler von dem Schritt zu überzeugen)
Da ich alle meine Benutzer schön im LDAP habe, sollte die Authentifizierung auch darüber erfolgen. Die Schwierigkeit war nur, eine stimmige Doku und ein passendes HowTo, oder einfach nur eine funktionierende Konfiguration zu finden.

Da ich für jedes Projekt ein neues Repository anlege, habe ich das SVN im Apache über ein Parent Repository eingebunden.
Die Rewrite Regeln sind notwendig um das Parent Verzeichniss browsen zu können.
Require LDAP-Group gibt eine Gruppe im LDAP an, in der der Benutzername als memberUid enthalten sein muss.
Auszug virtual-server.conf

ReWriteEngine on
RedirectMatch ^(/repos)$ $1/
DAV svn

SVNParentPath /var/repos/
SVNListParentPath On
SVNAutoversioning On
SVNReposName "Subversion Repository"

AuthType Basic
AuthName "Subversion Repository"
Require valid-user

AuthBasicProvider ldap
AuthzLDAPAuthoritative on
AuthLDAPURL ldap://ldapserver/ou=Users,dc=company,dc=local?uid?sub
AuthLDAPGroupAttribute memberuid
AuthLDAPGroupAttributeIsDN off
Require ldap-group cn=svnuser,ou=Groups,dc=company,dc=local

AuthzSVNAccessFile /etc/apache2/dav_svn.authz

SVNListParentPath on

In der Datei dav_svn.authz werden Gruppe definiert, welchen dann in den Abschnitten der einzelnen Repositorys die Rechte zugewiesen werden. Wichtig, nicht den Namen des Repositorys vergessen!
Die Benutzer entsprechen den Usernamen aus dem LDAP, die Gruppennamen sind frei zu vergeben. (In der Transaktion kennt SVN nur den Benutzernamen)
Root hat übrigens nichts im SVN verlohren …
/etc/apache2/dav_svn.authz

[groups]
checkoutgroup=checkout
admins = rapunzel
entwicklung = max,moritz

[/]
*=r

[Project1:/]
@entwicklung = rw
@checkoutgroup = r

  • « Vorherige Seite
  • 1
  • …
  • 8
  • 9
  • 10

© 2022 · Sturbi's Home