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
- BananaPro / BananaPi
- Sys auf 1TB HDD umgelegt Bananian 16.04 auf einer HDD installieren incl. WLan
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;
nano /etc/hosts
Fügt das hinzu:
#Virtual Hosts
192.168.3.19 www.testseite.de
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