Mit folgendem Befehl lässt sich der Inhalt eines Ordners unter Linux löschen.
|
1 2 |
cd /verzeichniss-mit-inhalt find . -type f -exec rm {} \; |
Mit folgendem Befehl lässt sich der Inhalt eines Ordners unter Linux löschen.
|
1 2 |
cd /verzeichniss-mit-inhalt find . -type f -exec rm {} \; |
Mit der Monitoring Software Munin können wir auch unseren Apache Webserver monitoren. Hierfür sind bei der Standart Installation unter Debian & Ubuntu 3 Plugins verfügbar.
Diese 3 Module könne wir wie folgt installieren.
|
1 2 3 |
ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/ ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/ ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/ |
Als nächstes müssen wir noch das passende Apache Modul aktivieren
|
1 |
a2enmod status |
Und die Datei status.conf um ExtendedStatus On erweitern
|
1 2 3 4 5 6 7 8 9 10 11 |
nano /etc/apache2/mods-available/status.conf <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from localhost ip6-localhost # Allow from .example.com </Location> ExtendedStatus On |
Als nächstes starten wir den Apache und Munin neu
|
1 2 |
/etc/init.d/apache2 restart /etc/init.d/munin restart |
Ob es funktioniert hat können, wir mit dem Befehl munin-node-configure –suggest prüfen.
|
1 2 3 4 5 |
munin-node-configure --suggest apache_accesses | yes | yes apache_processes | yes | yes apache_volume | yes | yes |
Sollte hier yes stehen haben wir die Plugins erfolgreich installiert und Munin ist bereit Daten vom Apache Server anzuzeigen.
Bei der Standardinstallation ist Plesk so konfiguriert dass nur maximal 4 IMAP Verbindungen von einer IP Adresse angenommen werden. Dies kann bei bei Firmen schnell zu Problemen führen wenn sich mehr als 4 Leute gleichzeitig per IMAP mit dem Plesk Mailserver verbinden wollen.
Mit dem erweitern der MAXPERIP können wir dieses Problem lösen
nano /etc/courier-imap/imapd
Jetzt erhöhen wir den wert auf z.B. 30
MAXPERIP=30
Und starten den IMAP Service neu
/etc/init.d/courier-imap stop
/etc/init.d/courier-imap start
Mit dem Zend\Db\Adapter des Zend Framework 2 können wir über den ServiceManager auf einfachster Weise eine Datenbankverbindung zum MySQL Server per PDO herstellen.
Hierzu legen wir eine Datei mit den MySQL Konfigurationen unter /config/autoload/database.local.php an. Konfigurationsdateien die in diesem Verzeichnis liegen werden vom Zend Framework 2 automatisch geladen. Wir können diese Datei entweder .local.php oder .global.php nennen. Zu beachten ist dass die global standardmäßig von der local überschrieben wird. Das ist hilfreich wenn wir z.B. unsere Applikation auf einem lokalem Development System Entwickeln und sie später zum testen auf den Staging Server bzw. in das Live System Deployen wollen.
/config/autoload/database.local.php
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php return array( 'service_manager' => array( 'factories' => array( 'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory', ), ), 'db' => array( 'driver' => 'pdo', 'dsn' => 'mysql:dbname=DATENBANKNAME;host=localhost', 'username' => 'MYSQLBENUTZER', 'password' => 'MYSQLPASSWORT', 'driver_options' => array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'' ), ), ); |
Wenn gewünscht kann dem ZF2 DB Adapter auch ein Alias zugewiesen werden. Dies kann hilfreich sein wenn wir die MySQL Datenbankverbindung mit anderen Modulen sharen wollen.
|
1 2 3 4 5 6 7 8 |
<?php return array( 'service_manager' => array( 'aliases' => array( 'mein_name_fuer_den_zend_db_adapter' => 'db', ), ), ); |
Sollte man unter Plesk Scheduled Tasks die Fehlermeldung “/usr/bin/php: No such file or directory” bekommen, liegt es wahrscheinlich daran, dass die Kunden sich in einer chrooted Umgebung befinden. Wenn du deinen Kunden traust, kannst du Shell Cronjobs mit folgendem Befehl aktivieren.
/usr/local/psa/bin/server_pref -u -crontab-secure-shell "/bin/sh"
Wenn du die Einstellungen wieder rückgängig machen möchtest ist das wie folgt möglich
/usr/local/psa/bin/server_pref -u -crontab-secure-shell ""
Squid loggt alle Verbindungen in einem Access Log. Wenn man das Loggen ausschalten möchte, kann man dies mit folgender Einstellung machen
access_log /dev/null
cache_log /dev/null
cache_store_log none
Server installieren
apt-get install squid
Squid konfiguration bearbeiten
nano /etc/squid/squid.conf
Folgendes in die Konfiguration einfügen. Zu beachten ist auch die Reihenfolge der Regeln! Wenn man bereits http_access deny all gesetzt hat, können darunter keine weiteren Regeln, die einen Zugriff erlauben würden, eingetragen werden.
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
acl password proxy_auth REQUIRED
http_access allow password
Mit dieser Einstellung kannst du zusätzlich deine echte IP Adresse verbergen
forwarded_for off
In den empfohlenen Einstellungen wird geregelt dass nur Verbindungen per SSL hergestellt werden dürfen. Dies sollte auskommentiert werden.
#http_access deny CONNECT !SSL_ports
Als nächstes legen wir die Zugangsdaten mit htpasswd an. Um htpasswd zu nutzen, muss apache2-utils installiert sein. Mit folgendem Befehl können wir das Programm installieren sofern noch nicht vorhanden.
apt-get install apache2-utils
Zugangsdaten für Squid anlegen
htpasswd -c /etc/squid/passwd username
Squid neu starten
/etc/init.d/squid restart
Jetzt können wir uns mit unserem Browser unter Port 3128 zum Proxy Server verbinden.
Interfaces bearbeiten
nano /etc/network/interfaces
Nun legen wir zu dem bereits vorhandenem Interface ein virtuelles an.
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 8.8.8.8
# 1. Virtual Interface
auto eth0:1
iface eth0:1 inet static
address 192.168.0.100
netmask 255.255.255.0
Anschließend muss der Dienst neu gestartet werden
/etc/init.d/networking restart
Folgende Einstellungen sind notwendig um XDebug unter MAMP zu installieren.
XDebug ist unter MAMP 2 bereits enthalten und muss nur noch konfiguriert werden. Dazu starten wir das Terminalfenster
sudo nano /Applications/MAMP/bin/php/php5.4.4/conf/php.ini
Am Ende der Datei steht
[xdebug]
;zend_extension="/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"
Das ; bedeutet, dass diese Konfiguration auskommentiert ist. Wir entfernen das ; und schreiben folgendes hinzu
[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"
xdebug.remote_host=127.0.0.1
xdebug.remote_enable = 1
Danach den Server einmal neu starten.
Unter Einstellungen > PHP > Interpreter muss der PHP Interpreter von MAMP eingestellt werden. Dieser befindet sich unter /Applications/MAMP/bin/php/php5.4.4/bin/
Der Listener Mode muss aktiviert werden.
Unter http://www.jetbrains.com/phpstorm/marklets/ können wir uns Lesezeichen für unseren Browser erstellen um den Debugger zu triggern.
Der APC lässt sich auf einem Debian Linux System auf verschiedenen Wegen installieren. Sollte man APC aus den Debian Paketen per apt-get oder aptitude installieren, so bekommt man im Moment auf einem Squeeze System APC nur in der Version 3.1.3 installiert. Da aber z.B. das Zend Framework 2 eine APC Version => 3.1.6 voraussetzt, kann man die aus den Debian Paketen nicht einsetzen. Hier ist es Empfehlenswert APC über PECL zu installieren. Im Folgenden werden die benötigten Schritte aufgeführt.
Benötigte Packete installieren
apt-get install php-pear php5-dev gcc apache2-threaded-dev libpcre3-dev make
APC installieren
pecl install apc
Konfiguration erstellen
echo "extension=apc.so" > /etc/php5/apache2/conf.d/apc.ini
Apache neu starten
/etc/init.d/apache2 restart
Um die installation zu überprüfen erstellen wir eine PHP Datei mit folgendem Inhalt.
|
1 2 |
<?php phpinfo(); |
Hier kann man erkennen ob APC korrekt installiert wurde.
Jetzt sollte das Zend Framework 2 problemlos mit APC zusammenarbeiten können.