Zielsetzung

Ein kleines "Entwicklungssystem", auf dem ich mal verschiedene Projekte testen kann.

Was brauchen wir? Einen Webserver, eine MySQL-Datenbank und PHP. Als Webserver habe ich diesmal Nginx gewählt, da habe ich viel gutes von gelesen also mal ausprobieren.

Hardware

Software

  • Bananian 16.04 / Kernel 4.4.7
  • nginx
  • mysql-server
  • php5-fpm
  • php5-mcrypt
  • php5-mysql
  • git

 

NGinx

Nginx installieren und anpassen

 

Installation

apt-get install git
apt-get install nginx
apt-get install php5-fpm //PHP installieren
apt-get install php5-mcrypt
apt-get install php5-mysql
apt-get install mysql-server //MySQL Datenbank installieren..

 

Steuerung

nginx -t //Konfiguration testen
service nginx force-reload

 

Anpassen

Datei default kopieren. Sicherungskopie!

cd /etc/nginx/sites-available
cp default default_copy

default löschen

rm default

Den toten Link in sites-enabled auch.

Datei: custom-fields in sites-available erstellen. Danach mit

ln -s /etc/nginx/sites-available/custom-fields /etc/nginx/sites-enabled/custom-fields

einen symbolischen Link in sites-enabled erstellen.

Unter /etc/nginx/sites-enabled/custom-fields findet man dann folgendes:

server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/custom-fields;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name localhost;
location /custom-fields {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

Testen und neustarten! Fertig!

Wenn man nun mehrere Webseiten erstellen möchte, dann kopiert man den Codeblock server {] aus /etc/nginx/sites-enabled/custom-fields, kommentiert die Zeile

listen [::]:80 default_server;

aus. Gibt der Seite einen Namen.

server_name www.testseite.de;

Auf dem Arbeitsrechner

nano /etc/hosts

Fügt das hinzu:

#Virtual Hosts
192.168.3.19    www.testseite.de

Fertig!


Nun kann man die Seite mit dem Aufruf

www.testseite.de

aufrufen!

 

Git

Git installieren und ein Joomla! Projekt installieren. Ich habe hier mal die kommende Erweiterung custom fields genommen, weil mich das Thema brennend interessiert. Mir schweben da schon jede Menge Anwendungsmöglichkeiten im Kopf herum.

 

Installation

apt-get install git

 

Joomla! Paket holen

Navigiere zu Pfad: /var/www

git clone https://github.com/joomla-projects/custom-fields.git

Nun habe ich das Verzeichnis /var/www/custom-fields, in diesem Verzeichnis liegt das ganze Joomla-Paket.

Wie gewohnt installieren!

Wenn nun in git Änderungen durchgeführt werden, möchte ich die ja auch auf dem System haben. Dazu nutzt man

git pull

Der Befehl sucht nach Änderungen und lädt diese herunter.

Somit ist man immer auf dem aktuellsten Stand.

Eine wirklich praktische Sache, die das Testen zu einer richtigen Freude macht.

 

Security

Ich gehe hier NICHT auf die Sicherheit eines Webservers ein, da mein Server in meinem privaten Netz steht. Eine Firewall schützt ihn vor ungebetenem Besuch. Solltet ihr auf die Idee kommen, den Webserver ins Netz zu hängen, dann kümmert euch bitte intensiv um das Thema Sicherheit. So ein Server ist eine leichte Beute, wenn man keine Ahnung von dem Thema hat!

 

Quelle

http://www.undertec.de/blog/2007/09/datenbank-und-benutzer-fur-mys.html