Debian: Pakete von DotDeb höher priorisieren über preferences

Heute habe ich auf einem frischen Debian-Server die Paketquellen neu hinzugefügt. Da ich nginx und PHP gerne in aktuellen Versionen nutze, greife ich dazu auf das Projekt DotDeb zurück. Wie man dieses einbindet, findet sich hier, jedoch steht dort nicht, wie man nun die Pakete höher priorisiert als die Standard-Repositories. Das ist jedoch recht einfach:

echo "Explanation: Highest Prio for DotDeb-packages" > /etc/apt/preferences.d/dotdeb
echo "Package: *" >> /etc/apt/preferences.d/dotdeb
echo "Pin: release o=packages.dotdeb.org" >> /etc/apt/preferences.d/dotdeb
echo "Pin-Priority: 999" >> /etc/apt/preferences.d/dotdeb

Wenn man nun nach einem „apt-get update“ beispielsweise für nginx das „apt-cache policy nginx“ durchführt, so sieht man:

# apt-cache policy nginx
nginx:
  Installed: (none)
  Candidate: 1.4.1-1~dotdeb.1
  Version table:
     1.4.1-1~dotdeb.1 0
        999 http://packages.dotdeb.org/ wheezy/all amd64 Packages
     1.2.1-2.2 0
        500 ftp://ftp.intern.hosteurope.de/mirror/ftp.debian.org/debian/ wheezy/main amd64 Packages
        500 http://mirrors.kernel.org/debian/ wheezy/main amd64 Packages

Wie man sieht wird nun definitiv dotdeb immer bevorzugt.

Installation von Owncloud auf NAS Geräten mit FFP 0.7

Für die Installation von owncloud sind nach der Ausführung der Installation von MySQL, lighttpd und PHP nur noch wenige Schritte notwendig. Zunächst wird das Installationspaket heruntergeladen:

cd /srv/www/pages/
wget --no-check-certificate https://download.owncloud.org/community/owncloud-latest.tar.bz2
tar xjf owncloud-latest.tar.bz2 && rm owncloud-latest.tar.bz2
chown -R root:root /srv/www/pages/owncloud
mkdir /srv/www/pages/owncloud/data
chmod -R 700 /srv/www/pages/owncloud/data

Nun muss die Datenbank für owncloud angelegt werden. Dazu wird zunächst MySQL geöffnet, das Passwort hast du im Installationstutorial festgelegt:

mysql -p

Dann führe die folgenden Befehle aus. Ersetze bitte YOURSECRETPASSWORD durch dein eigenes:

CREATE DATABASE owncl0ud CHARACTER SET utf8;
GRANT ALL ON owncl0ud.* TO 'owncl0ud'@'localhost' IDENTIFIED BY 'YOURSECRETPASSWORD' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;

Installation von owncloudDann gehe auf die adresse deines NAS mit dem zusatz /owncloud/, also z.b. http://nas/owncloud/ oder http://192.168.133.7/owncloud. Dort wird dir wie im Bild links ein Konfigurationsmenü angezeigt werden, die Warnung bezüglich des ungeschützten „data“-Verzeichnis kannst du ignorieren. Trage nun folgende Daten ein:

  • Administrator-Konto:
    • Nutzername: Dein Nutzername
    • Passwort: Dein Passwort
  • Datenverzeichnis:
    • Verzeichnis: /srv/www/pages/owncloud/data
  • Datenbank einrichten:
    • Datenbank: owncl0ud
    • Username: owncl0ud
    • Passwort: YOURSECRETPASSWORD (Passwort von oben)

Klicke dann auf „Installation abschließen“. Nach einigen Sekunden wird sich die Oberfläche wie folgt präsentieren:
Owncloud nach der Installation

Um große Dateien hochladen zu können, solltest du in der Datei /ffp/etc/php.ini einige Werte abändern:

  • upload_tmp_dir: /srv/www/tmp/
  • upload_max_filesize: 513M
  • post_max_size: 513M
  • memory_limit: 512M

Das wars 😉 Nun kannst du die Sync-Clients einbinden.

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.

MySQL: Can’t init tc log

Soeben hatte mein MySQL-Server auf einem Root-Server ein Problem und wollte nicht mehr starten:

110128 11:48:19  InnoDB: Started; log sequence number 1 4087800517
/usr/sbin/mysqld: File '' not found (Errcode: 2)
110128 11:48:19 [ERROR] Failed to open log (file '', errno 2)
110128 11:48:19 [ERROR] Could not open log file
110128 11:48:19 [ERROR] Can't init tc log
110128 11:48:19 [ERROR] Aborting

Die Lösung war einfach:
Editiere /var/lib/mysql/mysql-bin.index und Lösche alle Zeilen raus, die leer oder ohne einen Binlog-Eintrag sind. Prüfe zudem, ob alle verbleibenden Einträge auf dem Filesystem zu finden sind.

Wie ist das entstanden?
Der MySQL-Server ist gecrashed, was zu diesen Einträgen geführt hat. Es kann auch entstehen, wenn der MySQL-Server umzieht, wie es hier im Bugreport auf MySQL.com der Fall war.

Test und Review des D-Link DNS-320 – Auspacken und erste Bilder – Teil 2

Wie bereits im vorhergehenden Beitrag beschrieben habe, habe ich ein neues NAS, das D-Link DNS-320 bei mir stehen, welches ich gerade ausgepackt habe:
Test und Review des D-Link DNS-320 – Auspacken und erste Bilder – Teil 2 weiterlesen

Test und Review des D-Link DNS-320 – Technische Daten – Teil 1

D-Link DNS-320Vor einigen Tagen hat sich ein neues NAS bei mir eingefunden, das D-Link DNS-320. Im folgenden Beitrag zeige ich kurz die technischen Daten, in einem weiteren Beitrag gehe ich auf das Auspacken des Geräts ein.
Test und Review des D-Link DNS-320 – Technische Daten – Teil 1 weiterlesen