GeekLand

TopStorys, Bilder und anderer Content für die Geek-Com
Subscribe

Archive for the ‘Admin’

Wer außer mir belastet meinen Webserver

August 20, 2007 By: Geek5 Category: Admin, Internet 1 Comment →

Last auf meinem WebserverDank dem schönen Artikel von Stefan Brandt konnte ich mal nachsehen, wer noch so auf meinem Server sitzt. Wie es aussieht habe ich bei 1&1 ziemlich Glück. Sowohl hier auf geekland.de wie auch auf meiner Wii Domain wiiclub.de sitzen außer mir nur 8 weitere Domains (Stefan redet von 100 Nachbarn).

Also entweder sind die 1&1 Kisten so klein, dass sie sicherheitshalber nur 10 Domains draufpacken, oder das Lookup-Tool ist Mist - oder 1&1 ist einfach super großzügig :-)

Produktionsnahe LAMP Entwicklungsumgebungen auf dem Laptop

August 17, 2007 By: Geek5 Category: Admin, Internet, Webdesign No Comments →

Virtuelle hosts auf LAMP einrchtenIch habe ja einige Domains mit Inhalten zu versorgen. Da ist es praktisch Pflicht nicht Kür eine Entwicklungsumgebung zu haben. Nun könnte man ja ein VMware pro Domain aufsetzen - ist aber mit Kanonen auf Spatzen…

Besser richte man sich ein paar virtuelle Apache Server auf dem Laptop ein. Um produktionsnah zu sein gilt es dabei einige Parameter aus der Liveumgebung zu kopieren. Praktisch alle meine Webprojekte sind LAMP’s, d.h. Linux, Apache, MySQL, PHP, damit ist schon mal klar, welche Tools installiert sein müssen. Weil ich alles Wichtige bei 1&1 hoste, habe ich auch keine Probleme mit verschiedenen Versionsständen.

Also zur Praxis.

Ich will eine Entwicklungsumgebung für die Geekland.de Programmierung. Ich bestelle ein 1&1 Homepage-Perfect Paket weil da ist PHP und MySQL dabei, als CMS nehme ich Wordpress 2. Von 1&1 kommen folgende Parameter.

domain: geekland.de
db-host: db1234.1und1.de
db-user: dbo12345678
db-pwd: qwertz123
database: db12345678
CMS: wordpress 2.1
Tools: PHP5, MySQL 5, Apache 2

Als TLD auf meinem Laptop nutze ich immer “.test”. D.h. ich brauche einen virtuellen Apache Server der auf “www.geekland.test” hört.

Virtuellen Host für www.geekland.test einrichten

Dazu setze ich auf dem localhost interface einen vhost auf, schreibe also nach /etc/apache2/httpd.conf:

NameVirtualHost 127.0.0.2
<VirtualHost 127.0.0.2>
ServerName www.geekland.test
DocumentRoot /srv/www/vhosts/geekland
</VirtualHost>

Weil in SuSE alle Dateien in /etc/apache2/vhosts.d automatisch ins httpd.conf includiert werden, ist eine bessere Alternative den Code von oben in die Datei /etc/apache2/vhosts.d/geekland.conf zu schreiben.

Außerdem muss der virtuelle Host noch dem Nameservice bekannt gemacht werden. Für Angelegenheiten am localhost ist die beste Stelle dafür die Datei /etc/hosts (Zeile einfügen).

127.0.0.2 geekland.test www.geekland.test

Nicht unbedingt nötig, aber auch nicht schädlich ist noch

root@novotop # ifconfig lo:1 127.0.0.2

damit haben wir dem ganzen noch ein virtuelles Netzinterface gegeben. Jetzt den Apache neu starten:

root@novotop # rcapache2 restart

Nun müsste die Seite http://www.geekland.test ansteuerbar sein. Die Inhalte müssen nach /srv/www/vhosts/geekland/ gestellt werden (index.html etc.).

Datenbank für geekland.test einrichten

Die Datenbank soll produktionsnahe Parameter erhalten, bestenfalls also identische! Der Datenbankserver sollte bereits laufen. Falls nicht, wird er sich beim ersten Login automatisch installieren. Geh also mittels mysql -uroot -p auf den MySQL Server und lege die Datenbank an:

CREATE DATABASE `db12345678` ;

Einen lokalen Benutzer für die Datenbank anlegen

Weiter muss ein User mit login Rechten angelegt werden:

CREATE USER 'dbo12345678'@'localhost'
IDENTIFIED BY 'qwertz123';

GRANT USAGE
ON * . * TO 'dbo12345678'@'localhost'
IDENTIFIED BY 'qwertz123'
WITH MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0
MAX_UPDATES_PER_HOUR 0
MAX_USER_CONNECTIONS 0 ;

Und dieser Benutzer soll nun alle Rechte für die Wordpress DB von geekland bekommen:

GRANT ALL PRIVILEGES
ON `db12345678` . *
TO 'dbo12345678'@'localhost'
WITH GRANT OPTION ;

1&1 Datenbankserver auf lokalen Hosts aliasen

Damit im wp-config.php keine Anpassungen zwischen Entwicklung und Produktion gemacht werden müssen ist es noch sinnvoll, den 1&1 Datenbankserver per alias auf der Entwicklungsmaschine zum localhost umzubiegen:
Suche die Zeile “127.0.0.1 localhost” in /etc/hosts und ändere sie in

127.0.0.1 localhost db1234.1und1.de

Das gibt keine Probleme, weil 1&1 den Zugriff auf db1234 sowieso nur aus dem eigenen Netz zulässt. Damit kann nun eine identische wp-config.php auf Produktion und Testsystem verwendet werden.

Das nächste Projekt

Das gute an dieser Methode ist, dass die nächste Entwicklungsdomain parallel zu geekland.test in exakt derselben Weise aufgesetzt werden kann. Es ist nur das Interface auf 127.0.0.3 zu ändern. Damit habe ich nun die Möglichkeit, alle meine Domains auf einem Linux Laptop zu entwickeln.

Suspend to RAM mit Linux auf Thinkpad Z61m

August 11, 2007 By: Geek5 Category: Admin, Linux 2 Comments →

Suspend Thinkpad to RAM mit SUSE 10.2Nur in Kürze, sollte ja eigentlich ot of the Box klappen. Tut es aber zumindest bei mir nicht. Gebe ich “s2ram” folgt:

novotop:/var/log # s2ram
Machine is unknown.
This machine can be identified by:
sys_vendor = "LENOVO"
sys_product = "9450HAG"
sys_version = "ThinkPad Z61m"
bios_version = "7FET99WW (2.17 )"
See http://en.opensuse.org/S2ram for details.
If you report a problem, please include the complete output above.

Die Lösung ist äußerst einfach:

novotop:/var/log # s2ram -f

Und schon ist der gute Laptop im Tiefschlaf, resume dauert bei mir nur etwa 5 Sek.
Und Sie sind der Meinung… das ist Spitze!

Internen SD-Cardreader mit Linux nutzen (Lenovo Z61m, OpenSuSE 10.2)

August 08, 2007 By: Geek5 Category: Admin, Linux, Business 1 Comment →

Internen SD-Cardreader mountenMein OpenSuSE 10.2 hat den internen Multi-Cardreader meines Lenovo Z61m nicht automatisch erkannt, also ist Handarbeit angesagt. Es handelt sich dabei um einen Texas Instruments 5-in-1 Multimedia Card Reader. Die Lösung ist recht einfach (alles natürlich als root user):

(1) PCI Bus heraus finden
novotop:~ # lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
...
03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
15:00.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
15:00.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
15:00.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
15:00.3 Generic system peripheral [Class 0805]: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller

Worum es uns hier geht ist das PCI Gerät Nummer 15:00.2 - also weiter mit

(2) 0×02 nach 4c schreiben

novotop:~ # setpci -s 15:00.2 4c.b=0x02

Und fertig. Ab jetzt geht das “hot-pluggen”. Wenn Du also eine SD-Card rein schiebst poppt der Filebrowser auf.

Den letzten Befehl sollte man sich dann noch in irgendein Startscript schreiben. Ich persönlich habe ein S99meinStartup im rc5.d wo ich meinen ganzen Kram reinpacke.