<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ubuntublog.ch &#187; Apache</title>
	<atom:link href="http://ubuntublog.ch/tag/apache/feed" rel="self" type="application/rss+xml" />
	<link>http://ubuntublog.ch</link>
	<description>Debian und Ubuntu beobachtet</description>
	<lastBuildDate>Mon, 06 Sep 2010 05:15:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Die erste Mini-Anwendung mit CakePHP</title>
		<link>http://ubuntublog.ch/betriebssystem/die-erste-mini-anwendung-mit-cakephp</link>
		<comments>http://ubuntublog.ch/betriebssystem/die-erste-mini-anwendung-mit-cakephp#comments</comments>
		<pubDate>Mon, 22 Mar 2010 10:15:57 +0000</pubDate>
		<dc:creator>Roman Hanhart</dc:creator>
				<category><![CDATA[Applikationen]]></category>
		<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Backen]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://ubuntublog.ch/?p=7835</guid>
		<description><![CDATA[Am vergangen Sonntag durfte ich bei der Schulung von Roland in Sachen CakePHP mit dabei sein. Das Framework interessiert mich an sich und ausserdem sehe ich es als eine M&#246;glichkeit an, damit meine kleinen Webapplikationen neu zu zimmern. Alle Teilnehmer haben ein &#8220;nackiges&#8221; Framework erstellt und sind von dort aus gestartet. Das ist auch durchaus [...]]]></description>
			<content:encoded><![CDATA[<p>Am vergangen Sonntag durfte ich bei der Schulung von <a href="http://www.baldenhofer.eu/blog/it/die-galerie-sourcen-fuer-cakephp" class="liexternal">Roland</a> in Sachen <a href="http://cakephp.org/" class="liexternal">CakePHP</a> mit dabei sein. Das Framework interessiert mich an sich und ausserdem sehe ich es als eine M&#246;glichkeit an, damit meine kleinen Webapplikationen neu zu zimmern. Alle Teilnehmer haben ein &#8220;nackiges&#8221; Framework erstellt und sind von dort aus gestartet. Das ist auch durchaus sinnreich und allemal besser, als wenn wir von Roland ein fertiges P&#228;ckli bekommen h&#228;tten. Wir haben zwar ein solches Paket erhalten, aber nicht um damit w&#228;hrend der Schulung zu arbeiten, sondern um daraus einige Beispiele zu ziehen und nat&#252;rlich auch f&#252;r das nachtr&#228;gliche Studium. </p>
<p><img src="http://ubuntublog.ch/wp-content/uploads/2010/03/1000h.jpg" alt="" title="1000h" width="200" height="248" align="left" />Im Vorfeld habe ich auf meinem kleine <a href="http://eeepc.asus.com/au/product1000h.html" class="liexternal">EEEPC 1000H</a> einige Vorkehrungen getroffen. Darauf l&#228;uft ein Ubuntu 9.10. Es braucht also nicht zwingend ein Server zu sein, auch wenn das nat&#252;rlich bei einer fertig gebackenen Applikation sinnreich w&#228;re. Aber zum Entwickeln reicht also ein solch kleiner Kerl, der &#252;brigens bloss ein Gigabyte fl&#252;chtigen Speicher besitzt. </p>
<p>Manchmal h&#228;tte ich aber dann doch lieber ein etwas gr&#246;sseren Bildschirm gehabt, gerade bei der Ansicht der Konsole, die ab und an eine ziemlich lange &#8220;Backliste&#8221; anzeigt. Aber es ging letztlich auch so ganz gut. Ich installierte PHP, den Apache Webserver, den MySQL-Server und f&#252;r mich noch optional PHPMyAdmin. Wer m&#246;chte, kann sich nat&#252;rlich auch &#252;ber die Konsole die n&#246;tigen Datenbanken Tabellen anlegen. Ich mag einfach lieber das GUI.</p>
<p><code>sudo apt-get install php5 php5-cli mysql-server apache2 phpmyadmin</code></p>
<p>Wichtig ist, dass beim Apache-Webserver das Modul <code>mod_rewrite</code> aktiviert ist. Das haben wir nach l&#228;ngeren Detektivarbeiten und Dank <a href="http://www.miradlo.com/" class="liexternal">Ute</a> herausgefunden. Auf ubuntusers.de gibt es dazu einen gesunden <a href="http://wiki.ubuntuusers.de/Apache/modrewrite" class="liexternal">Wiki-Artikel</a>. (Heisst es eigentlich <strong>einen gesunden Wiki-Artikel</strong> oder <strong>ein gesunder Wiki-Artikel</strong>?)</p>
<p>Anschliessend holten wir uns die aktuelle und stabile Source auf der <a href="http://cakephp.org/" class="liexternal">Website</a> von CakePHP und entpackten sie. Der Apache muss dann auf das Verzeichnis <code>webroot</code> im Baum des Downloads unter <code>app</code> zeigen. Die Datei <code>default</code> im Verzeichnis <code>/etc/apache2/sites-available</code> hat bei mir folgendes Aussehen, allerdings habe ich keine zus&#228;tzlichen virtuellen Hosts, sondern bloss eine Site erzeugt. Auch hier hat mich Ute unterst&#252;tzt:</p>
<pre>&lt;virtualhost *:80>
	ServerAdmin webmaster@localhost

	DocumentRoot /home/roman/cakephp/app/webroot
	&lt;directory /&gt;
		Options FollowSymLinks
		AllowOverride FileInfo Options

	&lt;directory /home/roman/cakephp/app/webroot&gt;
		Options Indexes FollowSymLinks
		AllowOverride FileInfo Options
		Order allow,deny
		allow from all
	&lt;/directory&gt;

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	&lt;directory "/usr/lib/cgi-bin"&gt;
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	&lt;/directory>

	ErrorLog /var/log/apache2/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined

 Alias /doc/ "/usr/share/doc/"
 &lt;directory "/usr/share/doc/"&gt;
 Options Indexes MultiViews FollowSymLinks
 AllowOverride None
 Order deny,allow
 Deny from all
 Allow from 127.0.0.0/255.0.0.0 ::1/128
 &lt;/directory&gt;

&lt;/virtualhost&gt;</pre>
<p>Damit funktionierte CakePHP ganz gut. Die Installation war also recht einfach, die ersten vier kleinen H&#252;rden betreffen die Schreibrechte auf Verzeichnissen, die sichergestellt werden m&#252;ssen und der &#8220;gesalzenen Sicherheit&#8221; sind rasch erledigt. Danach kann man bereits loslassen. </p>
<p>Roland hat sein Projekt, das wir ansatzweise an diesem Sonntag erarbeitet haben, in das <a href="http://www.baldenhofer.eu/blog/it/die-galerie-sourcen-fuer-cakephp" class="liexternal">Netz gestellt</a>, so dass jeder daran partizipieren kann. Auch das ganze Modell und die Anforderungen <a href="http://www.baldenhofer.eu/blog/it/cakephp-schulungsunterlagen" class="liexternal">stehen dort bereit</a>. Die Idee, welche sich hinter diesem Vorgehen verbirgt, soll echte OpenSource-Programmierung abbilden. Jeder von uns kann oder darf einen Teil zu diesem Projekt beitragen, bis ein fertiges Produkt entsteht. So macht &#8220;opensourcen&#8221; Spass. Ich hoffe, dass ich mir hin und wieder ein St&#252;ndchen Zeit nehmen kann, um da mitzuwirken. </p>
<p><img src="http://ubuntublog.ch/wp-content/uploads/2010/03/cakephp.png" alt="" title="cakephp" width="480" height="266" class="alignnone size-full wp-image-7855" /></p>
<p>W&#228;hrend dem Kurs sind ein paar wenige Bilder entstanden, die ich in eben jener Applikation bereitgestellt habe, die einst durch die neu zu backende Anwendung ersetzt werden soll: <a href="http://foto.tuxhart.ch/album-single.php?IDAlbum=6" class="liexternal">In meiner kleinen Bilderdatenbank</a>. An dieser Stelle sende ich ein dickes Dankesch&#246;n an Ute und Roland f&#252;r die Gastfreundschaft und f&#252;r den interessanten Sonntagnachmittag! Ich komme sicherlich noch einmal auf das Thema zur&#252;ck und kann dann hoffentlich etwas tiefer &#252;ber Technisches berichten. </p>

 <div id="aspdf">
 <a href="http://ubuntublog.ch/wp-content/plugins/as-pdf/generate.php?post=7835">
 <span>PDF-Datei dieses Artikels erzeugen</span>
 </a>
 <br /><br /><br /><br />
 </div><h2  class="related_post_title">Ähnliche Artikel</h2><ul class="related_post"><li>2. Februar 2010 -- <a href="http://ubuntublog.ch/applikationen/webentwicklung-mit-cakephp" title="Webentwicklung mit CakePHP">Webentwicklung mit CakePHP</a> (8)</li><li>19. Mai 2008 -- <a href="http://ubuntublog.ch/applikationen/wordpress-auf-einem-ubuntu-server" title="WordPress auf einem Ubuntu-Server">WordPress auf einem Ubuntu-Server</a> (12)</li><li>9. Januar 2008 -- <a href="http://ubuntublog.ch/services/ssl-auf-apache-einrichten" title="SSL auf Apache einrichten">SSL auf Apache einrichten</a> (0)</li><li>2. Januar 2008 -- <a href="http://ubuntublog.ch/applikationen/phpmyadmin-zur-mysql-verwaltung" title="phpmyadmin zur MySQL-Verwaltung">phpmyadmin zur MySQL-Verwaltung</a> (9)</li><li>13. November 2009 -- <a href="http://ubuntublog.ch/applikationen/pdf-dateien-mit-php-erzeugen" title="PDF-Dateien mit PHP erzeugen">PDF-Dateien mit PHP erzeugen</a> (7)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://ubuntublog.ch/betriebssystem/die-erste-mini-anwendung-mit-cakephp/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Webentwicklung mit CakePHP</title>
		<link>http://ubuntublog.ch/applikationen/webentwicklung-mit-cakephp</link>
		<comments>http://ubuntublog.ch/applikationen/webentwicklung-mit-cakephp#comments</comments>
		<pubDate>Tue, 02 Feb 2010 10:15:43 +0000</pubDate>
		<dc:creator>Roman Hanhart</dc:creator>
				<category><![CDATA[Applikationen]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Lernen]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Relation]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Webentwicklung]]></category>

		<guid isPermaLink="false">http://ubuntublog.ch/?p=7116</guid>
		<description><![CDATA[B&#252;cher aus dem Hause O&#8217;Reilly mag ich sehr, da sie einerseits eine hohe Qualit&#228;t aufweisen &#8211; ich meine inhaltlich &#8211; und andererseits sind sie meist auch anspruchsvoll. Allerdings kosten die Schinken meist auch etwas mehr, als ein Buch von Markt und Technik, Franzis, Data Becker oder einem &#228;hnlichen Verlag. Vor ein paar Tagen lag das [...]]]></description>
			<content:encoded><![CDATA[<p>B&#252;cher aus dem Hause <a href="http://www.oreilly.de/" class="liexternal">O&#8217;Reilly</a> mag ich sehr, da sie einerseits eine hohe Qualit&#228;t aufweisen &#8211; ich meine inhaltlich &#8211; und andererseits sind sie meist auch anspruchsvoll. Allerdings kosten die Schinken meist auch etwas mehr, als ein Buch von <a href="http://www.mut.de/" class="liexternal">Markt und Technik</a>, <a href="http://www.franzis.de/" class="liexternal">Franzis</a>, <a href="http://www.databecker.de/" class="liexternal">Data Becker</a> oder einem &#228;hnlichen Verlag. Vor ein paar Tagen lag das Buch <a href="http://lesen.tuxhart.ch/single.php?IDBuch=43" class="liexternal">Webentwicklung mit CakePHP</a> in meinem Briefkasten. Bisher h&#246;rte ich bloss am Rande von diesem Framework, ausser am <a href="http://www.barcamp.li/index.php/BarCamp_Liechtenstein_2009" class="liexternal">BarCamp zu Liechtenstein</a>; dort setzte ich mich in die Session von <a href="http://www.baldenhofer.eu/blog/" class="liexternal">Roland</a> und sah mir an, wie in knapp 45 Minuten eine Webapplikation entstand. Mit <a href="http://cakephp.org/" class="liexternal">CakePHP</a>.</p>
<p>Das Buch entstand im Jahre 2008, verfasst haben es <a href="http://www.lastcode.com/" class="liexternal">Dirk Ammelberger</a> und <a href="http://www.robertscherer.de/" class="liexternal">Robert Scherer</a>. Beides sind Koryph&#228;en im Bereich der Webentwicklung und dem dazugeh&#246;rigen Umfeld. Ich befinde mich nun mitten in der Arbeit mit diesem Buch und darf mit &#220;berzeugung sagen, dass nicht nur CakePHP eine feine Sache ist, sondern auch das Buch selbst. </p>
<p><a href="http://lesen.tuxhart.ch/single.php?IDBuch=43" class="liimagelink"><img src="http://ubuntublog.ch/wp-content/uploads/2010/02/cakephp.png" alt="" title="cakephp" width="480" height="617" class="alignnone size-full wp-image-7121" /></a></p>
<p>Es ist nicht f&#252;r Computer-Einsteiger geschrieben, das geht auch aus der Einleitung hervor. Ein paar Grundkenntnisse zu PHP, MySQL, SQL und den Relationen in einer modernen Datenbank sowie dem objektorientierten Verhalten einer Programmiersprache reichen aber aus, um gut damit zurechtzukommen. Mindestens nehme ich die Inhalte so wahr und ich bin bei weitem kein Profi in diesen Dingen, h&#246;chstens ein interessierter Amateur. Die Einleitung halte ich f&#252;r sehr gelungen, denn darin bekomme ich sauber erkl&#228;rt, was CakePHP ist, wozu ein Framework dient und welche Mittel ich brauche, um damit arbeiten zu k&#246;nnen. Im Anschluss an die Einleitung folgen dann die Anweisungen und Tipps zur Installation, welche f&#252;r Linux, Mac und sogar Windows erkl&#228;rt werden. Dabei kommt nicht nur das Framework an sich zur Sprache, sondern auch die Datenbank, der Webserver und der PHP-Interpreter. Ich weiss zwar bis heute nicht, was PHP auf einem Windows-Rechner zu suchen hat und weshalb ein Apache auf dieses Betriebssystem gezwungen werden soll, aber das soll ja nicht meine Sorge sein. Wer ein <a href="http://www.wampserver.com/" class="liexternal">WAMP</a> haben will, soll es sich halt zurechtschustern. Leider wird im Buch die Installation von der CakePHP-Konsole f&#252;r Linux mit keinem Wort erw&#228;hnt, bloss Windows und Mac werden behandelt. Dort stehe ich im Moment noch etwas vor dem Berg, aber das werde ich noch l&#246;sen.</p>
<p>V&#246;llig neu war mir auch, dass CakePHP ein Abbild eines Frameworks ist, das sich bei <a href="http://www.ruby-lang.org/de/" class="liexternal">Ruby</a> wiederfindet. <a href="http://rubyonrails.org/" class="liexternal">Ruby on Rails</a> hat ja der Programmiersprache Ruby zu einer richtigen Renaissance verholfen. Es ist ein Framework eben f&#252;r Ruby, das sich sehr erfolgreich verbreitet hat. CakePHP soll in etwa dasselbe f&#252;r PHP sein. </p>
<p>Danach wird Schritt f&#252;r Schritt mittels einem imagin&#228;ren Projekt jede Funktion vom Framework besprochen und mit &#8220;lebendigen&#8221; Beispielen erkl&#228;rt. Zuvor lernen aber die Leser noch eine Menge wichtiger Fakten &#252;ber die Arbeitsweise von CakePHP. F&#252;r besonders spannend halte ich das Grundprinzip <a href="http://de.wikipedia.org/wiki/Model_View_Controller" rel="nofollow" class="liwikipedia">MVC</a>, welches daf&#252;r sorgt, dass die Datenhaltung, die Darstellung und die Logik sauber voneinander getrennt werden &#8211; <a href="http://wordpress-deutschland.org/" class="liexternal">WordPress</a> l&#228;sst gr&#252;ssen&#8230; Aber auch <a href="http://de.wikipedia.org/wiki/DRY" rel="nofollow" class="liwikipedia">DRY</a> finde ich essentiell wichtig, denn ich wiederhole mich wirklich nicht gerne beim Coden; das ist langweilig und das Resultat birgt grosse Fehlerquellen in sich. Die Beispiele und Erkl&#228;rungen im Buch weisen eine hohe Qualit&#228;t auf und der Lerneffekt ist &#8211; mindestens bei meiner suboptimalen Intelligenz &#8211; sehr hoch. Es macht Spass, mit diesem Buch zu lernen.</p>
<p>Auch <a href="http://de.wikipedia.org/wiki/AJAX" rel="nofollow" class="liwikipedia">AJAX</a> ist ein Thema in diesem Buch. Soweit bin ich aber noch nicht vorgestossen, ich habe aber gesehen, dass mitunter auch <a href="http://de.wikipedia.org/wiki/DHTML" rel="nofollow" class="liwikipedia">DHTML</a> besprochen wird. Das ist ein heikles Thema, besonders die Barriere-Freiheit ist dort gef&#228;hrdet. Ich bin gespannt, was dort zu lesen ist. </p>
<p>F&#252;r meine Tests und kleinen Applikationen habe ich die Installation von CakePHP auf meinem Server zu Hause durchgef&#252;hrt. Das ist ein Uralt-PC, auf dem ein Ubuntu-Server 8.10 rennt. Die Maschine ist von aussen nicht zu erreichen. Ich mag es nicht besonders, wenn ich auf meinem Notebook PHP, MySQL-Server, Apache, PHPMyAdmin und allenfalls weitere Dienste sowie das Framework installieren soll. Genau f&#252;r solche Anforderungen besitze ich noch immer diesen alten PC, der wohl aus dem Jahre 2003 stammt. Allenfalls braucht es noch das CLI-Paket f&#252;r PHP:</p>
<p><code>sudo apt-get install php5-cli</code></p>
<p>Grunds&#228;tzlich k&#246;nnte man unter Ubuntu das gesamte Framework <a href="http://packages.ubuntu.com/de/karmic/cakephp-instaweb" class="liexternal">&#252;ber die Paketverwaltung installieren</a>. Das habe ich aber nicht getestet, zumal andere Komponenten benutzt werden als Apache und Konsorten. </p>
<p>Zusammen mit diesem Buch kann ich mich mindestens in das Framework einarbeiten. Wer sich f&#252;r CakePHP interessiert und noch nicht alle Feinheiten kennt, d&#252;rfte mit diesem Buch gut bedient sein. Aber auch Leute, die das Framework noch gar nicht kennen, aber das n&#246;tige &#8220;Meta-Grundwissen&#8221; mitbringen, werden damit sofort zurechtkommen.</p>
<p>Noch ein Satz zum Buch selbst, also zur Bindung: Ich kenne sehr viele verschiedene Buchbindungen, habe auch schon selbst B&#252;cher gebunden. Ich werde es einem Buchbinder niemals verzeihen, wenn er kein Buchzeichen &#8211; in Form eines Stoffbandes, das im R&#252;cken verleimt ist &#8211; einsetzt. Bei einem Buch dieser Preisklasse geh&#246;rt mindestens ein Buchzeichen dazu. Die Bindung an sich ist sauber und qualitativ in Ordnung, aber es ist eben doch keine Deutsche Wertarbeit, wenn das Buchzeichen fehlt. </p>
<p><a href="http://lesen.tuxhart.ch/single.php?IDBuch=43" class="liexternal">Webentwicklung mit CakePHP</a> tr&#228;gt die ISBN-Nummer 978-3-89721-863-5 und ist im Handel f&#252;r ungef&#228;hr 30 Euro zu haben.</p>

 <div id="aspdf">
 <a href="http://ubuntublog.ch/wp-content/plugins/as-pdf/generate.php?post=7116">
 <span>PDF-Datei dieses Artikels erzeugen</span>
 </a>
 <br /><br /><br /><br />
 </div><h2  class="related_post_title">Ähnliche Artikel</h2><ul class="related_post"><li>25. August 2010 -- <a href="http://ubuntublog.ch/applikationen/endlich-roundcube-mit-adressgruppen" title="Endlich: RoundCube mit Adressgruppen">Endlich: RoundCube mit Adressgruppen</a> (7)</li><li>22. März 2010 -- <a href="http://ubuntublog.ch/betriebssystem/die-erste-mini-anwendung-mit-cakephp" title="Die erste Mini-Anwendung mit CakePHP">Die erste Mini-Anwendung mit CakePHP</a> (6)</li><li>4. März 2010 -- <a href="http://ubuntublog.ch/allgemein/bilder-veroeffentlichen-ohne-fremde-dienste" title="Bilder veröffentlichen ohne fremde Dienste">Bilder veröffentlichen ohne fremde Dienste</a> (15)</li><li>8. Dezember 2009 -- <a href="http://ubuntublog.ch/applikationen/simple-groupware-gemeinsame-sache-im-netz" title="Simple Groupware: Gemeinsame Sache im Netz">Simple Groupware: Gemeinsame Sache im Netz</a> (11)</li><li>29. November 2009 -- <a href="http://ubuntublog.ch/applikationen/kurze-urls-nutzen" title="Kurze URLs nutzen">Kurze URLs nutzen</a> (10)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://ubuntublog.ch/applikationen/webentwicklung-mit-cakephp/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>WordPress auf einem Ubuntu-Server</title>
		<link>http://ubuntublog.ch/applikationen/wordpress-auf-einem-ubuntu-server</link>
		<comments>http://ubuntublog.ch/applikationen/wordpress-auf-einem-ubuntu-server#comments</comments>
		<pubDate>Mon, 19 May 2008 10:15:18 +0000</pubDate>
		<dc:creator>Roman Hanhart</dc:creator>
				<category><![CDATA[Applikationen]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://ubuntu.yoda.ch/?p=121</guid>
		<description><![CDATA[WordPress von automattic auf einem Unbuntu-Serverli zu betreiben ist an sich eine Standard-Aufgabe, zu dessen Ausf&#252;hrung es keine besonderen Kenntnisse erfordert. Insbesondere unter Ubuntu ist das Einrichten eines Blogs unter WordPress zu Testzwecken sehr einfach zu bewerkstelligen. Allerdings muss beachtet werden, dass es deutlich mehr Aufwand braucht, will man das Blog produktiv nutzen und damit [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wordpress.org/" class="liwp">WordPress</a> von <a href="http://automattic.com/" class="liexternal">automattic</a> auf einem <a href="http://ubuntu.com" class="liexternal">Unbuntu</a>-Serverli zu betreiben ist an sich eine Standard-Aufgabe, zu dessen Ausf&#252;hrung es keine besonderen Kenntnisse erfordert. Insbesondere unter Ubuntu ist das Einrichten eines Blogs unter WordPress zu Testzwecken sehr einfach zu bewerkstelligen. Allerdings muss beachtet werden, dass es deutlich mehr Aufwand braucht, will man das Blog produktiv nutzen und damit das Serverli direkt an das Internet h&#228;ngen.</p>
<p>In diesem Szenario gehe ich davon aus, dass ein lokaler Server bereitsteht, der zun&#228;chst einmal standardm&#228;ssig aufgesetzt wurde. Es kann ein Ubuntu 6.10, 7.04, 7.10 oder ein 8.04 sein. Fr&#252;here Versionen d&#252;rften auch funktionieren, dort sind aber einige Dinge noch anders zu handhaben. Das Blog dient dem Testen und ist &#8220;von aussen&#8221; nicht erreichbar; dementsprechend braucht es keine eigene Domain dazu, sondern kann in einem Unterverzeichnis betrieben werden. Was es dazu braucht, sind ein paar wenige Services, die sich allesamt einfach und schnell installieren lassen.</p>
<ul>
<li>FTP-Server, um die WordPress-Dateien hochzuladen</li>
<li>Mailsserver zum Versand der Notifikationenen</li>
<li>WebServer</li>
<li>PHP-Interpreter</li>
<li>MySQL</li>
<li>Verwaltungstool f&#252;r den Datenbankserver</li>
</ul>
<p><strong>FTP-Server, um die WordPress-Dateien hochzuladen</strong></p>
<p>Die Aufgabe liesse sich auch ohne FTP-Server bewerkstelligen; die erforderlichen Core-Dateien von WordPress kann man sich per <code><a href="http://de.wikipedia.org/wiki/Wget" rel="nofollow" class="liwikipedia">wget</a></code> oder beispielsweise mit <a href="http://ubuntu.yoda.ch/?p=20" class="liexternal">links2</a> holen. Bearbeiten lassen sie sich dann einfach per <code><a href="http://www.vim.org/" class="liexternal">vim</a></code>. Wer Lust hat, kann sich auch per <a href="http://ubuntu.yoda.ch/?s=webmin" class="liexternal">webmin</a> behelfen. </p>
<p>Ein FTP-Server bringt meiner Meinung nach etwas mehr Komfort. Deswegen schlage ich vor, den <code>vsftpd</code> zu nutzen. <a href="http://ubuntu.yoda.ch/?p=18" class="liexternal">Hier habe ich beschrieben</a>, wie sich das Teil nutzen l&#228;sst.</p>
<p><strong>Mailsserver zum Versand der Notifikationenen</strong></p>
<p>Auch ein Mailserver zum Versenden von Nachrichten ist nicht unbedingt zwingend n&#246;tig. Alternativ k&#246;nnte man die WordPress-Erweiterung <a href="http://www.callum-macdonald.com/code/wp-mail-smtp/" class="liexternal">WP Mail SMTP</a> nutzen. Damit weist man WordPress an, f&#252;r das Versenden der Mails keinen lokalen Mailserver anzusprechen, sondern direkt einen SMTP da draussen in der freien Welt. Allerdings funktioniert dann das Mailen sonst auf dem System nur sehr rudiment&#228;r, wenn &#252;berhaupt.</p>
<p>Deswegen empfehle ich hierzu das P&#228;ckli <code>postfix</code> und <code>mailx</code> (zum Testen). Eine <a href="http://ubuntu.yoda.ch/?p=40" class="liexternal">Installationsbeschreibung</a> habe ich hier erstellt. Es ist dann auch nicht zwingend n&#246;tig, dass man damit extern mailen kann. Eine interne M&#246;glichkeit reicht ja f&#252;r das Testen eines Blogs.</p>
<p><strong>WebServer</strong></p>
<p>Als Webserver w&#252;rde ich einen komfortablen <code>Apache2</code> nutzen. Die Installation ist denkbar einfach, will man SSL nutzen braucht es noch ein <a href="http://ubuntu.yoda.ch/?p=26" class="liexternal">paar Handgriffe</a> mehr. Den Webserver installiert man simpel per</p>
<p><code>sudo apt-get install apache2</code></p>
<p>Das Installationsskript richtet alle n&#246;tigen Konfigurationen ein, so das der Webserver unter der IP des Servers erreichbar ist. It works!</p>
<p><strong>PHP-Interpreter</strong></p>
<p>Auch PHP zu installieren, ist sehr einfach. Ich w&#252;rde die Version 5 nutzen, da auch WordPress damit umgehen kann. Zwar ist WordPress noch immer abw&#228;rtskompatibel zu der Version vier, l&#228;uft aber ordentlich unter f&#252;nf. </p>
<p><code>sudo apt-get install php5</code></p>
<p>Das Installationsskript passt alle Werte an, auch beim Apache, der w&#228;hrend der Installation noch einmal neu gestartet wird. </p>
<p><strong>MySQL</strong></p>
<p>Auch da w&#252;rde ich einen &#8220;f&#252;nfer Server&#8221; nutzen. Vier ginge zwar auch noch, aber mit der Version 5 hat man mehrere Features zur Verf&#252;gung, die man dann allenfalls auch anders noch nutzen kann. </p>
<p><code>sudo apt-get install mysql-server</code></p>
<p>W&#228;hrend der Installation wird man aufgefordert, ein Root-Kennwort einzugeben. Ich w&#252;rde das unbedingt tun, auch wenn der Server von aussen nicht zu erreichen ist. </p>
<p><strong>Verwaltungstool f&#252;r den Datenbankserver</strong></p>
<p>Ein eigenes Verwaltungstool f&#252;r den MySQL-Server braucht es nicht zwingend. Man kann ebenso gut alle Aufgaben in der SQL-Konsole erledigen. Etwas komfortabler ist es meiner Meinung nach, wenn man <code>phpmyadmin</code> nutzt.</p>
<p><code>sudo apt-get install phpmyadmin</code></p>
<p>Auch hierzu lassen sich SSL-Verbindungen konfigurieren. Ist das Paket installiert, erreicht man die Verwaltung per Browser &#252;ber <code>http://IP_des_Servers/phpmyadmin</code>. Der Benutzername ist Root und das Kennwort entspricht dem, welches bei der Installation des MySQL-Servers angegeben wurde.</p>
<p><img src="http://ubuntublog.ch/_bilder/phpma.png" alt="phpmyadmin" /></p>
<p>Damit sind alle erforderlichen Pakete installiert und nun kann es an das Installieren der WordPress-Sachen gehen. Dazu braucht es zun&#228;chst eine leere Datenbank, der ein Benutzer zugeteilt wird. Das bewerkstelligt man am besten mit <code>phpmyadmin</code>. Neue Datenbank erstellen und dann &#252;ber die Rechte einen neuen Benutzer erstellen, dem alle Rechte f&#252;r die neue DB gegeben werden. </p>
<p><img src="http://ubuntublog.ch/_bilder/ndb.png" alt="Neue Datenbank anlegen" /></p>
<p>In diesem Beispiel heisst die Datenbank <code>wp</code>. Dann die Rechte eines neuen Benutzers auf die Datenbank <code>wp</code> zuteilen.</p>
<p><img src="http://ubuntublog.ch/_bilder/benutzer.png" alt="Benutzer erstellen" /></p>
<p>Dazu habe ich den Benutzer <code>fritzli</code> erstellt, der dann die vollen Rechte auf der Datenbank <code>wp</code> bekommt. Globale Rechte braucht der Benutzer fritzli keine.</p>
<p><img src="http://ubuntublog.ch/_bilder/benutzer-rechte.png" alt="Rechte zuweisen" /></p>
<p>Danach holt man sich die <a href="http://wordpress-deutschland.org/download/" class="liexternal">aktuelle Version</a> eines WordPress-P&#228;cklis (im Moment 2.5.1). Ich mag die Deutsche Version, man kann aber nat&#252;rlich auch die Originale anwenden. Der Rest ist dann Routine-Arbeit.</p>
<p>Die ZIP-Datei entpacken und dann zun&#228;chst die Datei <code>wp-config-sample.php</code> in <code>wp-config.php</code> umbenennen. Diese &#246;ffnen und die n&#246;tigen Informationen eintragen:</p>
<p><img src="http://ubuntublog.ch/_bilder/wp-dat.png" alt="Daten" /></p>
<p>Es reicht, wenn die ersten vier Zeilen angesehen und mutiert werden. Danach muss man auf dem Server innerhalb der Sitestruktur ein Verzeichnis erstellen, in dem dann WorPress untergebracht wird. Der Webserver legt die Files unter <code>/var/www</code> ab. Dort erstelle ich ein Verzeichnis mit Namen <code>wp</code>:</p>
<p><code>sudo mkdir /var/www/wp</code></p>
<p>Danach erteile ich die Schreibrechte f&#252;r die Gruppe:</p>
<p><code>sudo chmod -R 0775 /var/www/wp</code></p>
<p>und &#228;ndere noch den Besitzer:</p>
<p><code>sudo chown www-data /var/www/wp</code></p>
<p><code>sudo chgrp www-data /var/www/wp</code></p>
<p>und f&#252;ge den User, welche als FTP-User figuriert, der Gruppe www-data hinzu:</p>
<p><code>sudo adduser roman www-dat</code></p>
<p>Danach k&#246;nnen die Daten per FTP hochgeladen werden. Schliesslich ist das Zeug soweit gediehen, dass es unter <code>http://IP_des_servers/wp</code> zu erreichen w&#228;re, so Gott will. Beim ersten Einloggen w&#252;rde ich den Ha(c)ken noch entfernen, so die Suchmaschinen und deren Vetter nicht versuchen, das Blog zu erreichen.</p>
<p><img src="http://ubuntublog.ch/_bilder/wp-1.png" alt="WordPress" /></p>
<p>Diese Angaben kennt man ja mittlerweile, sofern man mit WordPress arbeitet. Ansonsten sind sie denn auch klar. WordPress generiert einen User <code>admin</code> mit einem Kennwort, das man anschliessend &#228;ndern sollte.</p>
<p><img src="http://ubuntublog.ch/_bilder/wp-2.png" alt="WordPress" /></p>
<p>Yo, und der Rest d&#252;rfte klar sein. Damit steht ein Test-Blog zur Verf&#252;gung, in dem man Gott und die Welt <s>anficken</s> beschimpfen kann, ohne dass es jemand sieht <img src='http://ubuntublog.ch/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> Es verh&#228;lt sch in etwa gleich, wie jedes andere WP und so ist das Testblog je nach &#8220;Geekgrad&#8221; recht interessant. </p>
<p><strong>Anbindung an das Internet</strong></p>
<p>M&#246;chte man das Blog dauerhaft im Internet pr&#228;sentieren, so muss nat&#252;rlich der Webserver st&#228;ndig erreichbar sein. Damit steigen auch die Gefahren und nat&#252;rlich &#8211; oder hoffentlich &#8211; das Traffic. Arbeitet man mit einer dynamischen IP, so gibt es dazu einige Dienste, welche Deine dynamische IP mit einer Sudomain mappen. Ein solcher Dienst ist beispielsweise <a href="http://www.dynip.com/" class="liexternal">DynIP</a>, es gibt aber auch Gratis-Versionen. Sie kommen und verschwinden aber wie die Unterhosen. Allenfalls lohnt es sich, einen kostenpflichtigen Dienst zu nutzen.</p>
<p>Ausserdem muss man sich zwingend Gedanken zur Sicherheit machen. Allenfalls reicht schon eine lokale, physische Firewall, besser w&#228;re, zus&#228;tzlich noch eine auf dem Ubuntu-Server rennen zu lassen. Ausserdem w&#252;rde ich dann den FTP-Server nur starten, wenn ich ihn brauche und sonst unten lassen. Gleiches gilt f&#252;r <code>phpmyadmin</code>: Entweder nicht nutzen, oder auf SSL umbiegen, beziehungsweise auf einer andern Maschine installieren. Weiter muss dann der Apache allenfalls anders eingerichtet werden. </p>
<p><strong>Warnung: </strong>Wenn man tats&#228;chlich das Blog &#246;ffentlich erreichbar machen m&#246;chte, sollte auch die Installation des Servers selbst etwas seri&#246;ser als hier beschrieben angegangen werden. Diese Anleitung dient ja nur den Menschen, die ein Blog zum Testen nutzen m&#246;chten.</p>

 <div id="aspdf">
 <a href="http://ubuntublog.ch/wp-content/plugins/as-pdf/generate.php?post=121">
 <span>PDF-Datei dieses Artikels erzeugen</span>
 </a>
 <br /><br /><br /><br />
 </div><h2  class="related_post_title">Ähnliche Artikel</h2><ul class="related_post"><li>9. Januar 2008 -- <a href="http://ubuntublog.ch/services/ssl-auf-apache-einrichten" title="SSL auf Apache einrichten">SSL auf Apache einrichten</a> (0)</li><li>2. Januar 2008 -- <a href="http://ubuntublog.ch/applikationen/phpmyadmin-zur-mysql-verwaltung" title="phpmyadmin zur MySQL-Verwaltung">phpmyadmin zur MySQL-Verwaltung</a> (9)</li><li>22. März 2010 -- <a href="http://ubuntublog.ch/betriebssystem/die-erste-mini-anwendung-mit-cakephp" title="Die erste Mini-Anwendung mit CakePHP">Die erste Mini-Anwendung mit CakePHP</a> (6)</li><li>2. Februar 2010 -- <a href="http://ubuntublog.ch/applikationen/webentwicklung-mit-cakephp" title="Webentwicklung mit CakePHP">Webentwicklung mit CakePHP</a> (8)</li><li>25. August 2010 -- <a href="http://ubuntublog.ch/applikationen/endlich-roundcube-mit-adressgruppen" title="Endlich: RoundCube mit Adressgruppen">Endlich: RoundCube mit Adressgruppen</a> (7)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://ubuntublog.ch/applikationen/wordpress-auf-einem-ubuntu-server/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Squid auf Ubuntu-Server mit Active Directory Anbindung</title>
		<link>http://ubuntublog.ch/applikationen/squid-auf-ubuntu-server-mit-active-directory-anbindung</link>
		<comments>http://ubuntublog.ch/applikationen/squid-auf-ubuntu-server-mit-active-directory-anbindung#comments</comments>
		<pubDate>Sun, 09 Mar 2008 16:01:03 +0000</pubDate>
		<dc:creator>Roman Hanhart</dc:creator>
				<category><![CDATA[Applikationen]]></category>
		<category><![CDATA[Anbindung]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Domäne]]></category>
		<category><![CDATA[Kerberos]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[Proxy]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[Squid]]></category>
		<category><![CDATA[WindBind]]></category>

		<guid isPermaLink="false">http://ubuntu.yoda.ch/?p=50</guid>
		<description><![CDATA[Endlich konnte ich bei uns im Gesch&#228;ft den Microsoft-ISA-Server dauerhaft herunterfahren. Wir fuhren zwar noch mit der 2004-er Version, nutzen ihn bloss als Proxy, aber das Teil ging uns allen m&#228;chtig auf den Wecker; keine Performance und dauernd Ausf&#228;lle. Als Ersatz konnte ich eine L&#246;sung mit einem Ubuntu-Server und dem Proxy-Server squid einsetzen. Squid ist [...]]]></description>
			<content:encoded><![CDATA[<p>Endlich konnte ich bei uns im Gesch&#228;ft den <a href="http://www.microsoft.com/germany/isaserver/default.mspx" class="liexternal">Microsoft-ISA-Server</a> dauerhaft herunterfahren. Wir fuhren zwar noch mit der 2004-er Version, nutzen ihn bloss als Proxy, aber das Teil ging uns allen m&#228;chtig auf den Wecker; keine Performance und dauernd Ausf&#228;lle.</p>
<p>Als Ersatz konnte ich eine L&#246;sung mit einem Ubuntu-Server und dem Proxy-Server <a href="http://www.squid-cache.org/" class="liexternal">squid</a> einsetzen. Squid ist als OpenSource-Paket zu haben und ist in den offiziellen Paketen von Ubuntu eingebunden. Der Proxy-Server ist sehr leistungsf&#228;hig, fein skalierbar und ausbaubar. Er eignet sich eher f&#252;r gr&#246;ssere Umgebungen, kann aber auch in kleinen Betrieben eingesetzt werden. Wir haben bei uns im Gesch&#228;ft die L&#246;sung getroffen, dass der Proxy-Server eine NT-Gruppe abfr&#228;gt und deren Mitglieder durchl&#228;sst, alle andern bekommen keinen Zugriff auf den Cache. Dies bedeutet, dass die Ubuntu-Maschine Zugriff auf das Active Directory braucht. Nachstehend will ich die wichtigsten Konfigurationen nennen.</p>
<p><strong>Der Server</strong></p>
<p>Ich benutze eine virtuelle Maschine auf unserem ESX-Server. Es ist ratsam, die Festplatten-Konfiguration durchdacht zu gestalten, unabh&#228;ngig davon, ob der Server physikalisch besteht oder eine virtuelle Maschine ist. So w&#252;rde ich eine separate Platte (oder Partition) f&#252;r den Cache, das Log und nat&#252;rlich f&#252;r das Temp-Verzeichnis und den Swap erstellen. Liegt das Logfile vom Squid nicht im /var/ Verzeichnis, so w&#252;rde ich /var/ auch noch als separate Platte einbinden. So kann man sicherstellen, dass der Server nicht abraucht, wenn /var/ &#252;berl&#228;uft. Ich habe dem Rechner 1 GB Memory verpasst, squid ist zwar recht anspruchslos, es lohnt sich aber, gen&#252;gend fl&#252;chtigen Speicher zur Verf&#252;gung zu stellen.</p>
<p><strong>Samba</strong></p>
<p>Ohne Samba geht ja nichts, wenn man mit einer Linux-Kiste etwas auf der Windows-Seite tun will. Unter Ubuntu kann man das Samba-P&#228;ckli ganz normal installieren. Man kann gleich alle Komponenten auf einmal installieren, die es braucht, also auch Kerberos, Winbin und die Libaries:</p>
<p><code>sudo aptitude install krb5-user libpam-krb5 winbind samba smbfs smbclient libpam-mount</code></p>
<p>Danach sollte man sicherstellen, dass die lokale Zeit mit der des Windows-Dom&#228;nencontrollers dauerhaft &#252;bereinstimmt. Dazu muss allenfalls noch das NTP-Paket installiert und konfiguriert werden. Danach sollte die hosts-Datei angeschaut werden und bei Bedarf einige Eintr&#228;ge hinzugef&#252;gt werden:</p>
<p><code>sudo vim /etc/hosts</code></p>
<p>Auf die Adresse 127.0.0.1 muss nebst dem Rechnernamen auch die FQDN-Adresse des Squid-Servers eingetragen sein. Wir haben den Squid-Server in die Dom&#228;ne eingebunden (Member-Server) und so ist der FQDN gegeben.</p>
<p>Danach kann Kerberos eingerichtet werden. Die Konfigurationsdatei dazu befindet sich im /etc/ Verzeichnis:</p>
<p><code>sudo vim /etc/krb5.conf</code></p>
<p>Die Datei sollte folgende Werte beinhalten:</p>
<p><code>[logging]</code><br />
<code>default = FILE:/var/log/krb5.log</code></p>
<p><code>[libdefaults]</code><br />
<code>ticket_lifetime = 24000</code><br />
<code>clock_skew = 300</code><br />
<code>default_realm = MeineDomain.ch</code></p>
<p><code>[realms]</code><br />
<code>MeineDomain.ch = {</code><br />
<code>kdc = Name_des_ersten_Dom&#228;nencontroller:88</code><br />
<code>kdc = Name_des_ersten_Dom&#228;nencontrollers:464</code><br />
<code>kdc = Name_des_zweiten_Dom&#228;nencontrollers:88</code><br />
<code>kdc = Name_des_zweiten_Dom&#228;nencontrollers:464</code><br />
<code>admin_server = Name_des_ersten_Dom&#228;nencontrollers:464</code><br />
<code>default_domain = MeineDomain.ch</code><br />
<code>}</code></p>
<p><code>[domain_realm]</code><br />
<code>.MeineDomain.ch = MeineDomain.ch</code><br />
<code>MeineDomain.ch = MeineDomain.ch</code></p>
<p>Jetzt kann Kerberos getestet werden:</p>
<p><code>sudo kinit BenutzerName_Eines_Dom&#228;nenAdmins</code></p>
<p>Danach wird das Kennwort verlangt und wenn alles in Ordnung ist, erscheint wieder der normale Prompt. Ob es nun Kerberos geschafft hat, ein Ticket zu er&#246;ffnen, kann so angesehen werden:</p>
<p><code>sudo klist</code></p>
<p>Die Ausgabe sollte etwa so ausschauen:</p>
<p><code>Ticket cache: FILE:/tmp/krb5cc_0</code><br />
<code>Default principal: fritzli@MeineDomain.ch</code></p>
<p><code>Valid starting Expires Service principal</code><br />
<code>02/28/08 10:42:45 02/28/08 20:42:30 krbtgt/MeineDomain.ch@MeineDomain.ch</code><br />
<code>renew until 02/28/08 20:42:45</code></p>
<p><code>Kerberos 4 ticket cache: /tmp/tkt0</code><br />
<code>klist: You have no tickets cached</code></p>
<p>Falls es nicht klappt, ist allenfalls ein Durcheinander mit den Tickets vorhanden. Dann lassen sich mit folgendem Befehl alle Tickets l&#246;schen:</p>
<p><code>sudo kdestroy</code></p>
<p>Hat das geklappt, kann der Rechner der Windows-Domaine hinzugef&#252;gt werden. Dazu sollte die Konfigurationsdatei des Samba-Servers angepasste werden:</p>
<p><code>sudo vim /etc/samba/smb.conf</code></p>
<p>Dort sollten folgende Inhalte vorhanden sein:</p>
<p><code>[global]</code><br />
<code>security = ads</code><br />
<code>realm = MeineDomain.ch</code><br />
<code>password server = 172.31.1.15 #IP des Domain Controllers</code><br />
<code>workgroup = NT_Name_der_Dom&#228;ne</code><br />
<code># winbind separator = +</code><br />
<code>idmap uid = 10000-20000</code><br />
<code>idmap gid = 10000-20000</code><br />
<code>winbind enum users = yes</code><br />
<code>winbind enum groups = yes</code><br />
<code>template homedir = /home/%U</code><br />
<code>template shell = /bin/bash</code><br />
<code>client use spnego = yes</code><br />
<code>client ntlmv2 auth = yes</code><br />
<code>encrypt passwords = yes</code><br />
<code>winbind use default domain = yes</code><br />
<code>restrict anonymous = 2</code><br />
<code># to avoid the workstation from</code><br />
<code># trying to become a master browser</code><br />
<code># on your windows network add the</code><br />
<code># following lines</code><br />
<code>domain master = no</code><br />
<code>local master = no</code><br />
<code>preferred master = no</code><br />
<code>os level = 0</code></p>
<p>Nach dem speichern der Datei m&#252;ssen die Dienste neu gestartet werden:</p>
<p><code>sudo /etc/init.d/winbind stop</code><br />
<code>sudo /etc/init.d/samba restart</code><br />
<code>sudo /etc/init.d/winbind start</code></p>
<p>Und nun kann der Rechner der Dom&#228;ne hinzugef&#252;gt werden:</p>
<p><code>sudo net ads join -U BenutzerName_eines_Dom&#228;nen_Admin</code></p>
<p>Das Kennwort wird verlangt und wenn alles klappt, wird der Rechner der Dom&#228;ne hinzugef&#252;gt. Dann ist er in der Windows-Ungebung unter &#8220;Server&#8221; zu sehen. Testen l&#228;sst sich die Verbindung ganz einfach. Um die Benutzer aus der Dom&#228;ne anzeigen zu lassen, gen&#252;gt folgender Befehl:</p>
<p><code>wbinfo -u</code></p>
<p>Um die Gruppen anzeigen zu lassen, braucht es die Anweisung:</p>
<p><code>wbinfo -g</code></p>
<p>Jetzt folgt noch die switch-Konfiguration, die sich in der Datei einrichten l&#228;sst:</p>
<p><code>sudo vim /etc/nsswitch.conf</code></p>
<p>Dort m&#252;ssten folgende Werte verzeichnet sein:</p>
<p><code>passwd: compat winbind</code><br />
<code>group: compat winbind</code><br />
<code>shadow: compat</code></p>
<p>Die Dienste wollen nun noch einmal gestartet werden, damit die neue Konfiguration wirksam wird:</p>
<p><code>sudo /etc/init.d/winbind stop</code><br />
<code>sudo /etc/init.d/samba restart</code><br />
<code>sudo /etc/init.d/winbind start</code></p>
<p>Ob die Einstellungen richtig gesetzt wurden, l&#228;sst sich mit diesem Befehl kontrollieren, dann sollten die Gruppen der Windows-Dom&#228;ne angezeigt werden:</p>
<p><code>getent group</code></p>
<p><strong>Postfix installieren</strong></p>
<p>Damit Mails vom System versandt werden k&#246;nnen, sollte Postfix noch installiert werden. Die Installation habe ich <a href="http://ubuntu.yoda.ch/?p=40" class="liexternal">hier beschrieben</a>.</p>
<p><strong>Squid installieren</strong></p>
<p>So, und nun kann endlich squid installiert werden:</p>
<p><code>sudo apt-get install squid</code></p>
<p>Nach der Installation ist squid eigentlich bereit. Allerdings l&#228;sst der Proxy von Haus aus keine Rechner auf den Cache zugreifen. Dazu muss zuerst die Konfigurationsdatei richtig eingerichtet werden. Squid ist sehr breit in den M&#246;glichkeiten ausgelegt und es gibt daher Tausende von M&#246;glichkeiten, ihn einzurichten. Ich beschreibe hier die Version, welche wir erfolgreich einsetzen, gehe aber nicht in das Detail. Die Konfigurationsdatei w&#252;rde ich zun&#228;chst umbenennen und eine neue anlegen, denn die ist dermassen lang; es sind alle Erkl&#228;rungen darin enthalten. Berarbeiten kann man die Datei so:</p>
<p><code>sudo vim /etc/squid/squid.conf</code></p>
<p>Die Datei beinhaltet bei uns folgende Werte:</p>
<p><code>### Port</code><br />
<code>http_port 3128</code></p>
<p><code>### Stoplist</code><br />
<code>hierarchy_stoplist cgi-bin ?</code></p>
<p><code>### Cache</code><br />
<code>acl QUERY urlpath_regex cgi-bin \?</code><br />
<code>cache deny QUERY</code><br />
<code>acl apache rep_header Server ^Apache</code><br />
<code>broken_vary_encoding allow apache</code><br />
<code>cache_dir ufs /Pfad_zum_Cache 2024 16 256</code><br />
<code># Bei 1 GB fl&#252;chtigem Speicher</code><br />
<code>cache_mem 512 MB</code><br />
<code>cache_replacement_policy heap GDSF</code><br />
<code>memory_replacement_policy heap GDSF</code></p>
<p><code>### Logfiles</code><br />
<code>access_log Pfad_zum_access.log</code><br />
<code>cache_log Pfad_zum_cache.log</code><br />
<code>cache_store_log Pfad_zum_store.log</code><br />
<code>emulate_httpd_log on</code><br />
<code>log_fqdn on</code></p>
<p><code>### Hostfile</code><br />
<code>hosts_file /etc/hosts</code></p>
<p><code>###FTP</code><br />
<code>refresh_pattern ^ftp:		1440	20%	10080</code><br />
<code>refresh_pattern ^gopher:	1440	0%	1440</code><br />
<code>refresh_pattern .		0	20%	4320</code></p>
<p><code>### Access</code><br />
<code>acl all src 0.0.0.0/0.0.0.0</code><br />
<code>acl manager proto cache_object</code><br />
<code>acl localhost src 127.0.0.1/255.255.255.255</code><br />
<code>acl to_localhost dst 127.0.0.0/8</code><br />
<code>acl SSL_ports port 443		# https</code><br />
<code>acl SSL_ports port 563		# snews</code><br />
<code>acl SSL_ports port 873		# rsync</code><br />
<code>acl Safe_ports port 80		# http</code><br />
<code>acl Safe_ports port 21		# ftp</code><br />
<code>acl Safe_ports port 443		# https</code><br />
<code>acl Safe_ports port 70		# gopher</code><br />
<code>acl Safe_ports port 210		# wais</code><br />
<code>acl Safe_ports port 1025-65535	# unregistered ports</code><br />
<code>acl Safe_ports port 280		# http-mgmt</code><br />
<code>acl Safe_ports port 488		# gss-http</code><br />
<code>acl Safe_ports port 591		# filemaker</code><br />
<code>acl Safe_ports port 777		# multiling http</code><br />
<code>acl Safe_ports port 631		# cups</code><br />
<code>acl Safe_ports port 873		# rsync</code><br />
<code>acl Safe_ports port 901		# SWAT</code><br />
<code>acl purge method PURGE</code><br />
<code>acl CONNECT method CONNECT</code></p>
<p><code>##############################################</code><br />
<code># Zugriffe f&#252;r GOInternet (Gruppe, die surfen darf)</code><br />
<code>##############################################</code></p>
<p><code>auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="NT_Name_der_Domain\\GOInternet"</code><br />
<code>auth_param ntlm children 10 #auth_param ntlm max_challenge_reuses 0 </code><br />
<code>#auth_param ntlm max_challenge_lifetime 2 minutes </code><br />
<code>#auth_param ntlm use_ntlm_negotiate off auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic </code><br />
<code>auth_param basic children 5 </code><br />
<code>auth_param basic realm Domain Proxy Server </code><br />
<code>auth_param basic credentialsttl 2 hours </code><br />
<code>auth_param basic casesensitive off </code><br />
<code>authenticate_cache_garbage_interval 10 seconds </code></p>
<p><code># Credentials past their TTL are removed from memory </code><br />
<code>authenticate_ttl 0 seconds </code></p>
<p><code>#### Regeln f&#252;r den Zugriff f&#252;r alle Benutzer</code><br />
<code>acl AlleBenutzerIntra dstdomain .spitalbuelach.ch</code><br />
<code>acl AlleBenutzerGoogle dstdomain .google-analytics.com</code><br />
<code>acl AlleBenutzerKomp dstdomain .kompendium.ch</code><br />
<code>acl AlleBenutzerPsych dstdomain wdeg.itrust.de</code><br />
<code>acl AlleBenutzerSBB dstdomain .sbb.ch</code></p>
<p><code>#### Anwendung der Regel f&#252;r alle Benutzer</code><br />
<code>http_access allow AlleBenutzerIntra</code><br />
<code>http_access allow AlleBenutzerGoogle</code><br />
<code>http_access allow AlleBenutzerKomp</code><br />
<code>http_access allow AlleBenutzerPsych</code><br />
<code>http_access allow AlleBenutzerSBB</code></p>
<p><code>acl lcl src 172.31.0.0/16 </code><br />
<code>acl auth proxy_auth REQUIRED </code><br />
<code>http_access allow lcl auth </code><br />
<code>http_access deny all </code><br />
<code>miss_access allow all </code><br />
<code>icp_access deny all </code></p>
<p><code>##############################################</code><br />
<code># Ende Zugriffe f&#252;r GOInternet</code><br />
<code>##############################################</code></p>
<p><code>http_access allow manager localhost</code><br />
<code>http_access deny manager</code><br />
<code># Only allow purge requests from localhost</code><br />
<code>http_access allow purge localhost</code><br />
<code>http_access deny purge</code><br />
<code># Deny requests to unknown ports</code><br />
<code>http_access deny !Safe_ports</code><br />
<code># Deny CONNECT to other than SSL ports</code><br />
<code>http_access deny CONNECT !SSL_ports</code><br />
<code>http_access deny all</code></p>
<p>Nicht vergessen, squid neu zu starten, damit die neue Konfiguration greift:</p>
<p><code>sudo /etc/init.d/squide restart</code></p>
<p><strong>Herausforderungen</strong></p>
<p>Nat&#252;rlich gibt es auch einige Stolpersteine, die sich bei einer solchen Installation in den Weg stellen. Ein paar will ich hier notieren, zumal wir sie l&#246;sen konnten und wohl auch andere Menschen drauf hineinfallen m&#246;chten.</p>
<p>Im Konfigurationsfile zum Squid sollte man bei den Auth-Anweisung darauf achten, dass die Gruppe getrennt durch zwei Backslashes angeben wird:</p>
<p><code>NT-Dom&#228;nen_Name\\GOInternet</code></p>
<p>Wenn der ntml-Authenicator nicht will, wenn man </p>
<p><code>sudo squid -N -d 1-d 1</code></p>
<p>eingibt, und dabie folgende Fehlermeldung liefert:</p>
<p><code>2008/02/26 11:32:03| WARNING: ntlmauthenticator #2 (FD <img src='http://ubuntublog.ch/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> exited</code><br />
<code>2008/02/26 11:32:03| WARNING: ntlmauthenticator #3 (FD 9) exited</code><br />
<code>2008/02/26 11:32:03| WARNING: ntlmauthenticator #4 (FD 10) exited</code><br />
<code>2008/02/26 11:32:03| WARNING: ntlmauthenticator #5 (FD 11) exited</code><br />
<code>2008/02/26 11:32:03| WARNING: ntlmauthenticator #1 (FD 7) exited</code><br />
usw.</p>
<p>haben wir so gel&#246;st:</p>
<p>Die Authentifikation von ntml wird im Verzeichnis /var/run/ in einem weiteren Unterverzeichnis erledigt. Jenes Verzeichnis ist tempor&#228;r angelegt und wird bei jedem Systemstart neu erzeugt. Dort besitzt der User proxy, welcher Squid ausf&#252;hrt, keine Rechte. Man k&#246;nnte nun ein Skript schreiben, das die entsprechende Rechte bei jedem Systemstart setzt. Das wollten wir aber nicht. Stattdessen haben wir den User Proxy der Gruppe winbindd_priv hinzugef&#252;gt:</p>
<p><code>sudo adduser proxy winbindd_priv</code></p>
<p>Danach lief alles bestens. Ich habe dann noch einige Verfeinerungen und Optimierungen angebracht. Dar&#252;ber will ich dann aber separat berichten.Wie gesagt, gibt es sehr viele Wege, squid zu nutzen. Die oben Beschriebene ist wohl nicht das NonPlusUltra. Aber der Weg beschreibt eine recht gute L&#246;sung, die sich in einer Umgebung von etwa 450 Rechner und 600 Benutzer gut nutzen l&#228;sst. Dank ntml gibt der Browser (bei uns ist der Internet Explorer 7 standard) die Benutzerdaten gleich mit und niemand muss sich am Proxy von Hand anmelden. Ist ein Benutzer nicht in der Gruppe, erscheint ein Popup mit Benutzername und Kennwort. Die Proxy-Einstellungen geben wir via Gruppenrichtlinen mit, die Einstellungen k&#246;nnen nicht mutiert werden. Ausserdem bekommen die Rechner per DHCP keinen Gateway; sie m&#252;ssen als den Proxy passieren, um auf das Internet zugreifen zu k&#246;nnen. </p>

 <div id="aspdf">
 <a href="http://ubuntublog.ch/wp-content/plugins/as-pdf/generate.php?post=50">
 <span>PDF-Datei dieses Artikels erzeugen</span>
 </a>
 <br /><br /><br /><br />
 </div><h2  class="related_post_title">Ähnliche Artikel</h2><ul class="related_post"><li>19. Mai 2008 -- <a href="http://ubuntublog.ch/applikationen/wordpress-auf-einem-ubuntu-server" title="WordPress auf einem Ubuntu-Server">WordPress auf einem Ubuntu-Server</a> (12)</li><li>9. Mai 2008 -- <a href="http://ubuntublog.ch/applikationen/squid-update-auf-ubuntu-server-710" title="Squid-Update auf Ubuntu-Server 7.10">Squid-Update auf Ubuntu-Server 7.10</a> (0)</li><li>8. April 2008 -- <a href="http://ubuntublog.ch/applikationen/squid-als-reverse-proxy" title="Squid als Reverse-Proxy">Squid als Reverse-Proxy</a> (0)</li><li>29. März 2008 -- <a href="http://ubuntublog.ch/applikationen/squid-fehlermeldungen-zu-deutsch" title="squid: Fehlermeldungen zu Deutsch">squid: Fehlermeldungen zu Deutsch</a> (1)</li><li>29. März 2008 -- <a href="http://ubuntublog.ch/applikationen/squid-und-ein-url-filter" title="Squid und ein URL-Filter">Squid und ein URL-Filter</a> (4)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://ubuntublog.ch/applikationen/squid-auf-ubuntu-server-mit-active-directory-anbindung/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>MySQL: Abfragen speichern und nutzen</title>
		<link>http://ubuntublog.ch/services/mysql-abfragen-speichern-und-nutzen</link>
		<comments>http://ubuntublog.ch/services/mysql-abfragen-speichern-und-nutzen#comments</comments>
		<pubDate>Mon, 21 Jan 2008 06:15:41 +0000</pubDate>
		<dc:creator>Roman Hanhart</dc:creator>
				<category><![CDATA[Services]]></category>
		<category><![CDATA[Abfrage]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHPMyAdmin]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://ubuntu.yoda.ch/?p=36</guid>
		<description><![CDATA[Seit der 5er-Version des beliebten Datenbank-Servers MySQL k&#246;nnen endlich Abfragen (Views) gespeichert werden, auf welche dann zugegriffen werden kann, als ob es sich um eine Tabelle handelt. Dadurch k&#246;nnen aufw&#228;ndige Abfragen einmal erstellt und abgelegt werden. Danach greift man auf die zu und kann sie bei Bedarf noch weiter eingrenzen. Bei der im Ubuntu-Server aktuell [...]]]></description>
			<content:encoded><![CDATA[<p>Seit der 5er-Version des beliebten Datenbank-Servers <a href="http://mysql.de" class="liexternal">MySQL</a> k&#246;nnen endlich Abfragen (Views) gespeichert werden, auf welche dann zugegriffen werden kann, als ob es sich um eine Tabelle handelt. Dadurch k&#246;nnen aufw&#228;ndige Abfragen einmal erstellt und abgelegt werden. Danach greift man auf die zu und kann sie bei Bedarf noch weiter eingrenzen.</p>
<p>Bei der im Ubuntu-Server aktuell eingebundenen Version von <a href="http://www.phpmyadmin.net" class="liexternal">PHPMyAdmin</a> (2.10.3deb1ubuntu0.1) k&#246;nnen zwar Abfragen gespeichert werden, aber deren SQL-Anweisungen nachtr&#228;glich nicht angezeigt werden. Stattdessen muss man so gespeicherte Abfragen neu erzeugen und wenn man Mut hat, &#252;berschreiben. Etwas komfortabler geht es mit dem <a href="http://www.mysql.de/products/tools/query-browser/" class="liexternal">Query Browser</a>.</p>
<p>Eine Abfrage wird mit folgender SQL-Anweisung erzeugt:</p>
<p><code>CREATE VIEW `Datenbank`.`Name_der_Abfrage` AS<br />
 SELECT * FROM ``</code></p>
<p>In diesem Beispiel wird die Abfrage als <code>Name_der_Abfrage</code> gespeichert und steht danach &#8211; wie es bei <a href="http://office.microsoft.com/de-de/access/FX100487571031.aspx" class="liexternal">Access</a> als dem Hause Microsoft oder dem grossen Bruder, dem <a href="http://www.microsoft.com/germany/sql/default.mspx" class="liexternal">SQL-Server</a> bekannt ist &#8211; als View zu Verf&#252;gung. Jene kann dann wieder per <code>SELECT</code> aufgerufen werden.</p>
<p>Abfragen ergeben am meisten Sinn, wenn verschiedenen Tabellen, welche eine Relation untereinander kennen, aufgerufen werden. Dazu wird ebenfalls die <code>SELECT</code> Anweisung benutzt, die Relation wird beispielsweise per <code>INNER JOIN ON</code> erstellt. Wer mehr &#252;ber die SQL-Anweisungen wissen m&#246;chte, ist auf <a href="http://www.sql-tips.de/" class="liexternal">sql-tips.de</a> gut bedient. Aber auch dieses <a href="http://www.sql-und-xml.de/sql-tutorial/index.html" class="liexternal">Tutorial</a> ist nicht zu verachten.</p>
<p>Hier ist ein Beispiel, wie zwei Haupttabellen und zwei weitere Hilfstabellen in einer Anfrage zusammengef&#252;hrt werden:</p>
<p><code>select `adr_firmen`.`IDFirma` AS `IDFirma`,`adr_firmen`.`Firma` AS `Firma`,`adr_firmen`.`Zusatz` AS `Zusatz`,`adr_firmen`.`Strasse` AS `Strasse`,`adr_firmen`.`PLZ` AS `PLZ`,`adr_firmen`.`Ort` AS `Ort`,`adr_firmen`.`Land` AS `Land`,`adr_firmen_kontakt`.`IDKontakt` AS `IDKontakt`,`adr_firmen_kontakt`.`Anrede` AS `Anrede`,`adr_firmen_kontakt`.`Vorname` AS `Vorname`,`adr_firmen_kontakt`.`Name` AS `Name`,`adr_firmen_kontakt`.`Titel` AS `Titel`,`adr_firmen_kontakt`.`Funktion` AS `Funktion`,`adr_firmen_kontakt`.`EMail` AS `EMail`,`adr_firmen_kontakt`.`Telefon` AS `Telefon`,`adr_firmen_kontakt`.`Mobile` AS `Mobile`,`adr_firmen_kontakt`.`Fax` AS `Fax`,`adr_firmen_land`.`IDLand` AS `IDLand` from (`adr_firmen_kontakt_anrede` join (`adr_firmen_land` join (`adr_firmen` join `adr_firmen_kontakt` on((`adr_firmen`.`IDFirma` = `adr_firmen_kontakt`.`IDFirma`))) on((`adr_firmen_land`.`IDLand` = `adr_firmen`.`Land`))) on((`adr_firmen_kontakt_anrede`.`IDAnrede` = `adr_firmen_kontakt`.`Anrede`)));</code></p>
<p>Die Tabelle <code>adr_firmen</code> enth&#228;lt Adressdaten von Firmen, diejenige mit Namen <code>adr_firmen_kontakt</code> enth&#228;lt Kontaktinformationen. Beide Tabellen werden jeweils &#252;ber das Feld <code>IDFirma</code> miteinander in Relation gebracht. Dann gibt es noch zwei kleine Hilfstabellen, welche bloss sicherstellen, dass immer dieselben Werte benutzt werden. <code>adr_firmen_kontakt_anrede</code> steht in Relation zur Tabelle <code>adr_firmen_kontakt</code> und setzt jeweils die Anrede richtig, die Tabelle <code>adr_firmen_land</code> enth&#228;lt die Landesangaben, welche wiederum mit <code>adr_firmen</code> in Relation steht. Mit der obigen Abfrage werden s&#228;mtliche Werte so ausgegeben, dass sie f&#252;r uns Menschen nutzbar werden.</p>
<p>Wer sich nicht so gerne mit dem pingeligen SQL-Syntax auseinandersetzen will, kann auch eine andere L&#246;sung bevorzugen. Dazu braucht es allerdings Windows und Access. Damit kann man &#252;ber ODBC eine Verbindung zum MySQL-Server herstellen und dann die Abfragen im Access-Fenster ganz bequem zusammenklicken und sich hernach den SQL-Code anzeigen lassen. Bei nicht allzu komplexen Abfragen funktioniert jene Version ganz gut. Ich werde dazu sp&#228;ter mehr berichten. </p>
<p>Leider ist zur Zeit meine Lieblings-Virtualisierungssoftware f&#252;r den Mac &#8211; die <a href="http://www.virtualbox.org" class="liexternal">VirtualBox</a> &#8211; noch nicht ready f&#252;r OS X 10.5, weswegen ich auch noch keine virtuelle Windows-Kiste zur Verf&#252;gung habe, um dar&#252;ber zu berichten.</p>

 <div id="aspdf">
 <a href="http://ubuntublog.ch/wp-content/plugins/as-pdf/generate.php?post=36">
 <span>PDF-Datei dieses Artikels erzeugen</span>
 </a>
 <br /><br /><br /><br />
 </div><h2  class="related_post_title">Ähnliche Artikel</h2><ul class="related_post"><li>2. Februar 2010 -- <a href="http://ubuntublog.ch/applikationen/webentwicklung-mit-cakephp" title="Webentwicklung mit CakePHP">Webentwicklung mit CakePHP</a> (8)</li><li>13. Januar 2010 -- <a href="http://ubuntublog.ch/applikationen/mysql-datenbank-design-optisch-planen" title="MySQL-Datenbank-Design optisch planen">MySQL-Datenbank-Design optisch planen</a> (33)</li><li>16. Juli 2008 -- <a href="http://ubuntublog.ch/services/mysql-tabellen-tx_crawler_queue-loeschen-erzwingen" title="MySQL-Tabellen: tx_crawler_queue Löschen erzwingen">MySQL-Tabellen: tx_crawler_queue Löschen erzwingen</a> (0)</li><li>19. Mai 2008 -- <a href="http://ubuntublog.ch/applikationen/wordpress-auf-einem-ubuntu-server" title="WordPress auf einem Ubuntu-Server">WordPress auf einem Ubuntu-Server</a> (12)</li><li>9. Januar 2008 -- <a href="http://ubuntublog.ch/services/ssl-auf-apache-einrichten" title="SSL auf Apache einrichten">SSL auf Apache einrichten</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://ubuntublog.ch/services/mysql-abfragen-speichern-und-nutzen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSL auf Apache einrichten</title>
		<link>http://ubuntublog.ch/services/ssl-auf-apache-einrichten</link>
		<comments>http://ubuntublog.ch/services/ssl-auf-apache-einrichten#comments</comments>
		<pubDate>Wed, 09 Jan 2008 11:15:04 +0000</pubDate>
		<dc:creator>Roman Hanhart</dc:creator>
				<category><![CDATA[Services]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Dienste]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[webmin]]></category>

		<guid isPermaLink="false">http://ubuntu.yoda.ch/?p=26</guid>
		<description><![CDATA[Wie MacMacken in den Kommentaren hier richtig bemerkt hat, ist eine SSL-Verbindung zu einem Apache-Server eine recht wichtige Sache. Vor allem dann, wenn man &#252;ber das &#246;ffentliche Internet verwaltenden Zugriff auf den Server nehmen will, sollte die Verbindung verschl&#252;sselt sein. Viel dazu schreiben muss ich nicht, denn auf ubuntuusers.de &#8211; wo denn sonst? &#8211; gibt [...]]]></description>
			<content:encoded><![CDATA[<p>Wie <a href="http://www.macmacken.com/" title="MacMacken" class="liexternal">MacMacken</a> in den <a href="http://ubuntu.yoda.ch/?p=13#comment-2" class="liexternal">Kommentaren</a> hier richtig bemerkt hat, ist eine <a href="http://de.wikipedia.org/wiki/Transport_Layer_Security" rel="nofollow" class="liwikipedia">SSL-Verbindung</a> zu einem <a href="http://www.apache.de" class="liexternal">Apache</a>-Server eine recht wichtige Sache. Vor allem dann, wenn man &#252;ber das &#246;ffentliche Internet verwaltenden Zugriff auf den Server nehmen will, sollte die Verbindung verschl&#252;sselt sein.</p>
<p><img src="http://ubuntublog.ch/wp-content/uploads/2008/01/apache.jpg" width="150" height="131" alt="apache.jpg" title="apache.jpg" style="float:left;" />Viel dazu schreiben muss ich nicht, denn auf <a href="http://wiki.ubuntuusers.de/Apache/modssl" class="liexternal">ubuntuusers.de</a> &#8211; wo denn sonst? &#8211; gibt es eine hervorragende Beschreibung, wie man eine SSL-Verbindung konfiguriert. Sie ist auf den Eigenbedarf ausgerichtet. Will man damit &#8220;ordentliche Dienste&#8221; f&#252;r jedermann bereitstellen, sollte man sich um ein <a href="http://www.verisign.de/ssl/ssl-information-center/faq/ssl-basics.html" class="liexternal">&#246;ffentliches Zertifikat bem&#252;hen</a>. Die Beschreibung funktionierte bei mir fast einwandfrei. Ich vergass, dem Webserver einen vollqualifizierten Dom&#228;nen Namen (FQDN) zu geben. Deswegen konnte ich den Server &#252;ber das SSH-Terminal weder stoppen noch starten. Mit <a href="http://www.webmin.com/" class="liexternal">webmin</a> klappte der Start, da dort offensichtlich jene Konfiguration nicht abgefragt wird. Damit man auch per SSH den Apache handeln kann, muss man im Konfigurationsfile entweder die IP des Localhost (127.0.0.1) oder die LAN-IP unter dem Punkt <code>Servername</code> angeben. Dann klappt es auch per SSH. Diese Einstellung nimmt man am einfachsten per Webmin vor; f&#252;r Urgesteine tut es auch der vi-Editor:</p>
<p><code>/etc/apache2/apache2.conf</code></p>
<p><code># Include the virtual host configurations:</code><br />
<code>Include /etc/apache2/sites-enabled/</code><br />
<code>ServerName 127.0.0.1</code></p>
<p>So klappt es auch <s>mit dem Nachbarn</s> per SSH. Da die Konfiguration beim Beispiel von ubuntuusers.de f&#252;r alle Hosts inklusive den Virtuellen gilt, sind somit auch s&#228;mtliche konfigurierten Sites auf dem Webserver per SSL erreichbar.</p>

 <div id="aspdf">
 <a href="http://ubuntublog.ch/wp-content/plugins/as-pdf/generate.php?post=26">
 <span>PDF-Datei dieses Artikels erzeugen</span>
 </a>
 <br /><br /><br /><br />
 </div><h2  class="related_post_title">Ähnliche Artikel</h2><ul class="related_post"><li>19. Mai 2008 -- <a href="http://ubuntublog.ch/applikationen/wordpress-auf-einem-ubuntu-server" title="WordPress auf einem Ubuntu-Server">WordPress auf einem Ubuntu-Server</a> (12)</li><li>2. Januar 2008 -- <a href="http://ubuntublog.ch/applikationen/phpmyadmin-zur-mysql-verwaltung" title="phpmyadmin zur MySQL-Verwaltung">phpmyadmin zur MySQL-Verwaltung</a> (9)</li><li>25. August 2010 -- <a href="http://ubuntublog.ch/applikationen/endlich-roundcube-mit-adressgruppen" title="Endlich: RoundCube mit Adressgruppen">Endlich: RoundCube mit Adressgruppen</a> (7)</li><li>22. März 2010 -- <a href="http://ubuntublog.ch/betriebssystem/die-erste-mini-anwendung-mit-cakephp" title="Die erste Mini-Anwendung mit CakePHP">Die erste Mini-Anwendung mit CakePHP</a> (6)</li><li>2. Februar 2010 -- <a href="http://ubuntublog.ch/applikationen/webentwicklung-mit-cakephp" title="Webentwicklung mit CakePHP">Webentwicklung mit CakePHP</a> (8)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://ubuntublog.ch/services/ssl-auf-apache-einrichten/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>phpmyadmin zur MySQL-Verwaltung</title>
		<link>http://ubuntublog.ch/applikationen/phpmyadmin-zur-mysql-verwaltung</link>
		<comments>http://ubuntublog.ch/applikationen/phpmyadmin-zur-mysql-verwaltung#comments</comments>
		<pubDate>Wed, 02 Jan 2008 06:15:51 +0000</pubDate>
		<dc:creator>Roman Hanhart</dc:creator>
				<category><![CDATA[Applikationen]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://ubuntu.yoda.ch/?p=13</guid>
		<description><![CDATA[phpmyadmin ist wohl als MySQL-Verwaltungstool recht umstritten unter den Servergurus. Will man jedoch m&#246;glichst plattformunabh&#228;ngig seine Datenbanken auf dem Server verwalten k&#246;nnen, bietet sich jene Applikation geradezu an. Denn auf dem Rechner, mit dem man die Datenbanken verwalten will, braucht es unabh&#228;ngig vom gew&#228;hlten Betriebssystem bloss eine Netzverbindung zum Host und einen Browser. Unter dem [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.phpmyadmin.net" class="liexternal">phpmyadmin</a> ist wohl als <a href="http://www.mysql.de/" class="liexternal">MySQL</a>-Verwaltungstool recht umstritten unter den Servergurus. Will man jedoch m&#246;glichst plattformunabh&#228;ngig seine Datenbanken auf dem Server verwalten k&#246;nnen, bietet sich jene Applikation geradezu an. Denn auf dem Rechner, mit dem man die Datenbanken verwalten will, braucht es unabh&#228;ngig vom gew&#228;hlten Betriebssystem bloss eine Netzverbindung zum Host und einen Browser.</p>
<p>Unter dem Ubuntu-Server ist die Installation denkbar einfach. Hat man zun&#228;chst daf&#252;r gesorgt, dass ein passender Webserver installiert ist und in Ordnung l&#228;uft &#8211; ich habe mich aus Gr&#252;nden der Einfachheit und Verf&#252;gbarkeit von Informationen f&#252;r den <a href="http://www.apache.de/" class="liexternal">Apache</a>-Webserver entschieden &#8211; braucht man lediglich noch das Paket <code>phpmyadmin</code> aus den universe-Quellen zu installieren. Nach der Installation kann man das Paket auch gleich richtig per Skript konfigurieren lassen. Ein entsprechender Dialog erscheint dann im Terminal. Das Skript f&#252;gt dann zu Standardwebsite ein Verzeichnis namens phpmyadmin hinzu, unter dem dann die Oberfl&#228;che des Verwaltungstools zu erreichen ist, also zum Beispiel <code>http://meinUbuntuServer.ch/phpmyadmin/</code></p>
<p><img src="http://ubuntublog.ch/wp-content/uploads/2007/12/bild-1.png" width="450" height="272" alt="Bild 1.png" /></p>
<p>Mit diesem Tool l&#228;sst sich ein Grossteil der Aufgaben an einer Datenbank online erledigen. Ab MySQL 5 lassen sich ja endlich auch Abfragen abspeichern. Dazu m&#246;chte ich in einem sp&#228;teren Post noch genauer sprechen. F&#252;r meinen Geschmack geh&#246;rt phpmyadmin zur Grundausstattung eines Server, auf dem PHP und MySQL l&#228;uft.</p>
<p>&#220;brigens ist auch bei der Serververwaltungs-Suite <a href="http://www.webmin.com/" class="liexternal">webmin</a> eine Verwaltung f&#252;r den MySQL-Server dabei. Jene Verwaltung ist aber eher f&#252;r die Bewirtschaftung des Servers, der Benutzer und deren Rechte, als f&#252;r die Verwaltung der Daten gedacht.</p>
<p><img src="http://ubuntublog.ch/wp-content/uploads/2007/12/bild-2.png" width="450" height="272" alt="Bild 2.png" /></p>
<p>Eine sehr gute Dokumentation zu phpmyadmin findet sich im hauseigenen <a href="http://wiki.cihar.com/pma/Welcome_to_phpMyAdmin_Wiki" class="liexternal">Wiki</a>. Dort liest man FAQ, Anweisungen und Beschreibungen von der Installation bis zum Betrieb. Es gibt dort wohl zu jeder Herausforderung eine L&#246;sung.</p>

 <div id="aspdf">
 <a href="http://ubuntublog.ch/wp-content/plugins/as-pdf/generate.php?post=13">
 <span>PDF-Datei dieses Artikels erzeugen</span>
 </a>
 <br /><br /><br /><br />
 </div><h2  class="related_post_title">Ähnliche Artikel</h2><ul class="related_post"><li>19. Mai 2008 -- <a href="http://ubuntublog.ch/applikationen/wordpress-auf-einem-ubuntu-server" title="WordPress auf einem Ubuntu-Server">WordPress auf einem Ubuntu-Server</a> (12)</li><li>9. Januar 2008 -- <a href="http://ubuntublog.ch/services/ssl-auf-apache-einrichten" title="SSL auf Apache einrichten">SSL auf Apache einrichten</a> (0)</li><li>22. März 2010 -- <a href="http://ubuntublog.ch/betriebssystem/die-erste-mini-anwendung-mit-cakephp" title="Die erste Mini-Anwendung mit CakePHP">Die erste Mini-Anwendung mit CakePHP</a> (6)</li><li>2. Februar 2010 -- <a href="http://ubuntublog.ch/applikationen/webentwicklung-mit-cakephp" title="Webentwicklung mit CakePHP">Webentwicklung mit CakePHP</a> (8)</li><li>25. August 2010 -- <a href="http://ubuntublog.ch/applikationen/endlich-roundcube-mit-adressgruppen" title="Endlich: RoundCube mit Adressgruppen">Endlich: RoundCube mit Adressgruppen</a> (7)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://ubuntublog.ch/applikationen/phpmyadmin-zur-mysql-verwaltung/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Ubuntu-Server aufsetzen</title>
		<link>http://ubuntublog.ch/betriebssystem/server-aufsetzen</link>
		<comments>http://ubuntublog.ch/betriebssystem/server-aufsetzen#comments</comments>
		<pubDate>Tue, 01 Jan 2008 06:15:48 +0000</pubDate>
		<dc:creator>Roman Hanhart</dc:creator>
				<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Dienste]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://ubuntu.yoda.ch/?p=11</guid>
		<description><![CDATA[Einen Server unter Ubuntu aufzusetzen ist absolut keine Kunst. Vor allem dann nicht, wenn man die Workstation etwas kennt und sich beim Installieren jeweils f&#252;r die Alternate-Version entschieden hat. Denn die Server-Installation fusst auf derselben Routine. Eine sehr sch&#246;ne Beschreibung findet man auf ubuntuusers.de, die hier durch die Partitionierung erg&#228;nzt wird. F&#252;r mich ist ubuntuusers.de [...]]]></description>
			<content:encoded><![CDATA[<p>Einen Server unter Ubuntu aufzusetzen ist absolut keine Kunst. Vor allem dann nicht, wenn man die Workstation etwas kennt und sich beim Installieren jeweils f&#252;r die Alternate-Version entschieden hat. Denn die Server-Installation fusst auf derselben Routine. Eine sehr sch&#246;ne Beschreibung findet man auf <a href="http://wiki.ubuntuusers.de/Archiv/Serverinstallation?highlight=%28Server%29" class="liexternal">ubuntuusers.de</a>, die hier durch die <a href="http://wiki.ubuntuusers.de/Installation/Partitionierung?highlight=%28Partition%29" class="liexternal">Partitionierung</a> erg&#228;nzt wird. F&#252;r mich ist ubuntuusers.de nach wie vor die Adresse Nummer eins f&#252;r Ubuntu-Leute im deutschsprachigen Raum. Dort gibt es auch die n&#246;tigen <a href="http://wiki.ubuntuusers.de/Downloads#Downloads" class="liexternal">Image</a>, um eine startf&#228;hige CD zu brennen.</p>
<p>Ich habe mich vor allem aus Sicherheitsgr&#252;nden f&#252;r den Server 7.10 entschieden. Es ist nat&#252;rlich auch m&#246;glich, ein &#228;ltere Version sicher zu konfigurieren, dazu reicht aber mein Wissen (noch) nicht aus. Ich verwende einen etwas &#228;lteren PC, f&#252;r Services und Anwendungen mit niederer Last ist der Ubuntu-Server sehr bescheiden. Bei der Installation, welche aus meiner Sicht selbstsprechend zu bewerkstelligen ist &#8211; soweit die Hardware brav alles mitmacht &#8211; habe ich lediglich den <a href="http://www.apache.de/" class="liexternal">Apache-Webserver</a> und den <a href="http://de.wikipedia.org/wiki/Secure_Shell" rel="nofollow" class="liwikipedia">SSH-Server</a> mitinstalliert. Die beiden Dienste (und noch weitere) kann man gleich nach der Basisinstallation zur Installation anhaken. Alle andern Services m&#246;chte ich nachher durchf&#252;hren. Nach der Installation braucht es einen Reboot und das System kommt &#8211; so Gott will &#8211; rasch und sicher hoch.</p>
<p>Als erstes habe ich die IP-Adresse ge&#228;ndert, welche bei der Installation auf DHCP konfiguriert wurde. Dies k&#246;nnte man jedoch verhindern, in dem man eine Bootoption benutzt oder den DHCP kurz aussetzt. Dann kann man sogleich die statischen Daten eingeben. In meinem Fall habe ich nachtr&#228;glich die Datei <b>/etc/network/interfaces</b> bearbeitet und die Datei <b>/etc/resolv.conf</b> kontrolliert, ob der richtige DNS-Server angegeben ist.</p>
<p>Der Server h&#228;ngt bei mir nur noch am Strom und am Netzwerk. Eine Maus braucht es ohnehin nicht, da keine grafische Oberfl&#228;che installiert wird, die Tastatur und den Bildschirm schenke ich mir, da ich das meiste per SSH oder mit <a href="http://www.webmin.com/" class="liexternal">Webmin</a> erledige. Letztere M&#246;glichkeit bietet unter anderem auch einen sch&#246;nen Dateimanager per Java.</p>
<p>
<img src="http://ubuntublog.ch/wp-content/uploads/2007/12/java.jpg" width="450" height="272" alt="java.jpg" /></p>
<p>Ich werde sp&#228;ter noch etwas genauer auf Webmin eingehen. Schlussendlich habe ich dann noch die Updates gefahren. Mit <b>sudo apt-get update</b> aktualisiert man die Paketlisten und mittels <b>sudo apt-get upgrade</b> installiert man die Updates, soweit es welche hat. Nach einer frischen Installation kann man aber davon ausgehen, dass Updates vorhanden sind.</p>
<p>Erfrischend ist die Geschwindigkeit, mit welcher ein Server l&#228;uft. &#196;hnliche Erfahrungen habe ich auch unter Windows gemacht. Auch dort ist der Standard-Server sehr viel schneller hochgefahren als eine Workstation. Deswegen nutze ich auch einen virtuellen Windows-Server und keine Workstation. Und auch hier bei Ubuntu ist der Server sofort startklar. Obschon ein solcher Server immer verf&#252;gbar sein k&#246;nnte, schalte ich ihn ab, wenn ich den Rechner nicht ben&#246;tige. Er ist ja dermassen rasch wieder gestartet.</p>
<p>Sofort herunterfahren kann man den Server per SSH mit folgendem Befehl: <b>sudo shutdown -h now</b></p>

 <div id="aspdf">
 <a href="http://ubuntublog.ch/wp-content/plugins/as-pdf/generate.php?post=11">
 <span>PDF-Datei dieses Artikels erzeugen</span>
 </a>
 <br /><br /><br /><br />
 </div><h2  class="related_post_title">Ähnliche Artikel</h2><ul class="related_post"><li>9. Januar 2008 -- <a href="http://ubuntublog.ch/services/ssl-auf-apache-einrichten" title="SSL auf Apache einrichten">SSL auf Apache einrichten</a> (0)</li><li>8. Mai 2010 -- <a href="http://ubuntublog.ch/betriebssystem/surfen-via-ssh" title="Surfen via ssh">Surfen via ssh</a> (8)</li><li>22. März 2010 -- <a href="http://ubuntublog.ch/betriebssystem/die-erste-mini-anwendung-mit-cakephp" title="Die erste Mini-Anwendung mit CakePHP">Die erste Mini-Anwendung mit CakePHP</a> (6)</li><li>4. Januar 2010 -- <a href="http://ubuntublog.ch/betriebssystem/ubuntu-lts-und-ssh-x" title="Ubuntu LTS und ssh -X">Ubuntu LTS und ssh -X</a> (8)</li><li>19. Mai 2008 -- <a href="http://ubuntublog.ch/applikationen/wordpress-auf-einem-ubuntu-server" title="WordPress auf einem Ubuntu-Server">WordPress auf einem Ubuntu-Server</a> (12)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://ubuntublog.ch/betriebssystem/server-aufsetzen/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
