nginx: [emerg] duplicate listen options for [::]:443

Soeben habe ich auf einen zweiten Host SSL konfiguriert. Plattform ist ein nginx webserver gewesen, der mir beim Konfigurationstest folgenden Fehler ausspuckte:

[....] Testing nginx configuration:Configuration test failed!
nginx: [emerg] duplicate listen options for [::]:443 in /etc/nginx/sites-enabled/wolf-u.li:3
nginx: configuration file /etc/nginx/nginx.conf test failed

nginx: [emerg] duplicate listen options for [::]:443 weiterlesen

Konfiguration von MySQL und lighttpd mit PHP unter FFP 0.7

Dieses Tutorial funktioniert derzeit NUR auf Geräten mit „arm“-Paketen

Ich wurde nun mehrmals gebeten ein Tutorial zum Aufsetzen von MySQL und lighttpd mit PHP unter FFP 0.7 zu veröffentlichen. Und hier gehts los. Wenn ihr nicht wisst, was diese Software-Produkte sind, dann rate ich euch zum Besuch der Seiten von MySQL, Lighttpd und PHP.

Ein Wort der Warnung noch für alle Besitzer eines DNS-320/DNS-320L/DNS-325/DNS-345: Dieses Tutorial schaltet den internen MySQL-Server aus, sodass dieser nicht mehr aktiv ist. Das kann und wird zu Problemen bei den Zusatz-Applikationen wie Gallery, Blog und co führen. Wenn diese Applikationen nicht genutzt werden, kann das Tutorial gefahrlos verwendet werden.

Los gehts mit dem Einrichten von FFP 0.7, dem einbinden meines Repository „Uli“ und anschließend der Installation von meinen Paketen:

slacker -UaA uli:{libtool,php,mysql,lighttpd,curl,libxml2,libmcrypt,libpng,libjpeg-turbo,sqlite}

Möglicherweise werden jetzt neue Dateien im Verzeichnis /ffp/start angelegt. Das muss nun erstmal ausgebügelt werden:

[[ -f /ffp/start/kickangel.sh.new ]] && mv /ffp/start/kickangel.sh.new /ffp/start/kickangel.sh
[[ -f /ffp/start/kickwebs.sh.new ]] && mv /ffp/start/kickwebs.sh.new /ffp/start/kickwebs.sh
[[ -f /ffp/start/mysqld.sh.new ]] && mv /ffp/start/mysqld.sh.new /ffp/start/mysqld.sh
[[ -f /ffp/start/lighttpd.sh.new ]] && mv /ffp/start/lighttpd.sh.new /ffp/start/lighttpd.sh

Jetzt werden diese konfiguriert:
Los gehts mit lighttpd:

cp /ffp/etc/examples/lighttpd/lighttpd.conf /ffp/etc
rm /ffp/etc/examples/lighttpd.conf* /ffp/etc/examples/php.ini

Weiter gehts mit MySQL. Zunächst wird die Konfiguration kopiert, dann die Datenbanken installiert und zu guter letzt die Installation abgesichert:

sh /ffp/start/mysqld.sh stop
cp /ffp/etc/examples/mysql/my.cnf /ffp/etc/
ln -snf /ffp/opt/srv /srv
mkdir -p /srv/mysql/{innodblogdir,binlog,log,tmp,datadir}
mkdir -p /srv/tmp
/ffp/bin/mysql_install_db --basedir=/ffp
sh /ffp/start/mysqld.sh start
/ffp/bin/mysql_secure_installation

Das letzte Kommando wird folgendes ausgeben, ich habe meine Eingaben fett markiert. Das Passwort musst du dir merken!:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] Y
New password: MYVERYSECRETPASSWORD
Re-enter new password: MYVERYSECRETPASSWORD
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
… Success!

Normally, root should only be allowed to connect from ‚localhost‘. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
… Success!

By default, MySQL comes with a database named ‚test‘ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

Damit läuft nun MySQL einwandfrei und wir können den rest noch konfigurieren. Bitte merke dir das verwendete Passwort, du wirst es noch für weitere Tutorials brauchen.

Jetzt muss noch PHP konfiguriert werden:

cp /ffp/etc/examples/php/php.ini /ffp/etc/

Anschließend kann der Webserver gestartet werden.

mkdir -p /srv/www/{pages,logs,tmp}
sh /ffp/start/kickangel.sh start && sh /ffp/start/kickwebs.sh start && sh /ffp/start/lighttpd.sh start

Jetzt testen wir, ob es funktioniert:

echo '<?php echo "PHP works!"; ?>' > /srv/www/pages/index.php

PHP works! Gehe nun auf die Adresse deines NAS (z.B. http://nas/ oder die IP-Adresse, also z.b. http://192.168.133.7/). Dort sollte der Schriftzug „PHP works!“ wie im rechten Bild erscheinen.

Wenn du das Administrationsinterface deines NAS suchst, ist das nun auf Port 81 erreichbar, also z.B. http://nas:81/ oder http://192.168.133.7:81/.

Wenn das nun alles läuft, können die Dienste nun permanent aktiviert werden:

chmod a+x /ffp/start/{kickangel,kickwebs,lighttpd,mysqld}.sh
chmod a+x /ffp/start/kickwebs.sh
chmod a+x /ffp/start/lighttpd.sh
chmod a+x /ffp/start/mysqld.sh

MySQL: Spalte einer Tabelle in Kleinbuchstaben umändern

Soeben stand ich vor der Frage: Kann man eine Spalte einer MySQL-Tabelle in Kleinbuchstaben umändern? Hintergrund war das Problem, dass die Daten inhomogen eingegeben wurden, jedoch alle in kleinbuchstaben sein sollten. Das geht ganz schnell wenn man weiß wie:

UPDATE tabelle SET spalte=LOWER(spalte);

Und schon ist die Sache erledigt.

Bestimmte Mails eines Absenders aus Postfix Queue löschen

Soeben habe ich meinen Server etwas ent-spammen müssen. Eines meiner Scripte hat sich bisschen vertan und hat wie verrückt Mails rausgeschossen. Da ich wusste wie der Absender (unten ich@example) hieß, konnte ich meine Queue wieder recht einfach bereinigen.

Die Durchführung der folgenden Kommandos erfolgt auf eigene Gefahr! Du solltest wissen was du tust!

Tausche im folgenden „ich@example“ durch die Absenderadresse aus:

mailq|grep 'ich@example'|awk {'print $1'}|grep -v "(host"|tr -d '*!'|postsuper -d -

Oracle Database 11.2.0.3 Patchset (10404530) ist erschienen

Das neueste Patchset für Oracle Database 11g ist erschienen (derzeit nur für Linux x86 und x86-64) und trägt die Nummer 11.2.0.3. Unter der Nummer 10404530 kann man es finden und es bringt folgende neue Features mit:

  • Oracle ACFS Snapshot Enhancements
  • Oracle ACFS Security and Encryption Features
  • Support for ACFS Replication and Tagging on Windows
  • Oracle LogMiner Support for Binary XML
  • SQL Apply Support for Binary XML
  • Oracle LogMiner Support for Object Relational Model
  • SQL Apply Support for Object Relational Model
  • Deprecation of Obsolete Oracle XML DB Functions and Packages
  • Oracle Warehouse Builder Support for Partition DML
  • Enhanced Partitioning Support in Oracle Warehouse Builder
  • Oracle Warehouse Builder External Table Data Pump Support
  • Oracle Warehouse Builder External Table Preprocessor Support
  • Compressed Table and Partition Support in Oracle Warehouse Builder
  • Support for PL/SQL Native Compilation

Dafür sind einige Features verschwunden oder nicht mehr zugänglich, diese kann man hier in einer Liste finden.

Die genaue Liste der gelösten Bugs findet man dann in Dokument „1348303.1: List of Bug Fixes by Problem Type“, hier muss man derzeit aber noch warten bis es zugänglich ist. Die Liste der weiterhin offenen Bugs findet man hier.

Hilfreicher Artikel:

Nutzung des NAS als Remote Installation System (RIS) mittels TFTP

Dieser Artikel wurde von Andreas als Gastartikel eingereicht! Danke!

Hallo,

Ich möchte hier meine Projekte mit meinen „Würfeln“ vorstellen, welche ich nun seit mehr als einem Jahr am Laufen habe.

Da ich nebenberuflich Kunden mit Ihren IT-Problemen betreue und es dort ab und an vorkommt, dass ich komplette Systeme neu aufsetzen bzw. installieren muss, kommt man sehr oft in die Bedrängnis, mit CDs und DVD’s zu jonglieren.

Ich habe meist mit folgende Betriebssystemen Kontakt: XP (Home, Pro), SUSE als Server, ab und an ne alte Windows 2K ….

Nun haben Datenträger die Eigenart Beine zu bekommen oder sie verstecken sich sehr gerne (Falsch eingelegt in den Ordner, oder manchmal auch gar nicht ….. ohne Worte)

Nun hatte ich in meiner hauptberuflichen Laufbahn mal nebenbei (wie bei Administratoren immer so vorausgesetzt) mit einem Projekt zu tun, bei welchem ich mal eben schnell knapp 40 Rechner installieren sollte und oben drauf noch einen Windows weiß nicht was für einen Server.
Das imponierende an diesem Server war, ich hatte innerhalb kürzester Zeit (glaube knapp ne Woche oder so) einen Windows-Server am Laufen und auch heraus bekommen, dass man wohl angeblich damit in der Lage sein soll zig PCs parallel zu installieren. Auch dieses hatte ich innerhalb von wenigen Stunden zum laufen bekommen (INET sei Dank, für all die vielen und schönen Informationen)

Jetzt kommt der Teil, der mir die Schuhe aus zog. Die oben erwähnten 40 Rechner hatte ich innerhalb von einem Tag samt benötigter MS-Software (also Office und Co.) mal so eben schnell installiert und war quasi dem Zeitplan um tagen Voraus. Ich habe nicht einmal für all diese PC’s, nach dem Vorbereiten des Servers, eine CD in die PCs stecken müssen. Diese Funktion im Windows Server nannte sich RIS ( Remote Installation System). Da ich danach nie wieder mit einem Windows-Server zu tun hatte, war ich irgendwie traurig, bei jedem Mal, wenn ich eine CD oder DVD zur Installation benutzen musste.
Nutzung des NAS als Remote Installation System (RIS) mittels TFTP weiterlesen

Ein sehr interessanter Vortrag zu Infrastruktur- und Softwareskalierung von Google

Vor ein paar Tagen bin ich über einen interessanten Vortrag zu Performance und Skalierung der Infrastruktur von Google gestoßen, den ich meinen Lesern nicht vorenthalten will. Jeff Dean, ein Google Mitarbeiter, hat im Rahmen der EE380 in Standford einen Vortrag gehalten, welcher auf den Namen „Building Software Systems at Google and Lessons Learned“ getauft wurde. Sehr sehenswert, geht jedoch über eine ganze Stunde. Wer dafür keine Zeit hat, kann sich die Slides hier und eine der Zusammenfassungen hier ansehen.
Ein sehr interessanter Vortrag zu Infrastruktur- und Softwareskalierung von Google weiterlesen