{"id":6092,"date":"2015-09-06T15:48:54","date_gmt":"2015-09-06T13:48:54","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=6092"},"modified":"2025-09-04T20:59:51","modified_gmt":"2025-09-04T18:59:51","slug":"wie-kann-ein-laufender-windows-rechner-oder-raspberry-pi-initial-mit-debian-8-jessie-und-wordpress-4-3-mit-ssl-https-aufgesetzt-werden","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=6092","title":{"rendered":"Wie kann ein laufender Windows Rechner (oder Raspberry Pi) initial mit Debian 8 Jessie und WordPress 4.3 (mit SSL https) aufgesetzt werden?"},"content":{"rendered":"<p><br \/>\nWie kann ein laufender Windows XP Rechner (oder Raspberry Pi) auf Debian 8 Jessie mit WordPress 4.3 (SSL), Apache2 (SSL, https), MySql und phpMyadmin erstellt werden? Hier die gew\u00fcnschte Architektur:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/09\/Bildschirmfoto-2015-09-06-um-15.44.39.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6107\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/09\/Bildschirmfoto-2015-09-06-um-15.44.39.png\" alt=\"Architekur\" width=\"1256\" height=\"302\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/09\/Bildschirmfoto-2015-09-06-um-15.44.39.png 1256w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/09\/Bildschirmfoto-2015-09-06-um-15.44.39-300x72.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/09\/Bildschirmfoto-2015-09-06-um-15.44.39-1024x246.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/09\/Bildschirmfoto-2015-09-06-um-15.44.39-900x216.png 900w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Alle Daten auf den Windows Rechner m\u00fcssen vorher gesichert werden, da das ganze System mit Linux \u00fcberschrieben wird.<\/p>\n<h1>Debian Jessie<\/h1>\n<p> installieren<br \/>\nz.B. tools\/win32-loader\/stable\/win32-loader.exe laden und installieren mit SSH Zugang, ohne GUI<br \/>\nBeim Raspberry Pi, analog vorgehen, wie hier im Blog schon beschrieben.<\/p>\n<h1>LAMP<\/h1>\n<p> installieren mit:<\/p>\n<pre class=\"lang:default decode:true \">apt-get install apache2 mysql-client mysql-server php5 php5-mysql php5-curl php5-gd unzip phpmyadmin\r\n<\/pre>\n<h1>WordPress Database<\/h1>\n<p> erstellen<\/p>\n<pre class=\"lang:default decode:true \">mysql -u root -p\r\n# Passwort\r\n\r\n# wpdatabase, wpuser und passwort selbst w\u00e4hlen\r\n# evl. Database l\u00f6schen mit\r\nDROP DATABASE wpdatabase;\r\nCREATE DATABASE wpdatabase; \r\nCREATE USER wpuser@localhost IDENTIFIED BY 'wppass'; \r\nGRANT ALL PRIVILEGES ON wpdatabase.* TO wpuser@localhost; \r\nFLUSH PRIVILEGES; \r\nexit\r\n\r\n# Apache und MySql restarten\r\nservice apache2 restart \r\nservice mysql restart\r\n<\/pre>\n<h1>WordPress<\/h1>\n<p> 4.3 laden erstellen<\/p>\n<pre class=\"lang:default decode:true \"># ins tmp Verzeichnis gehen\r\ncd \/tmp \r\n# WordPress aktuelle Version laden\r\nwget -c http:\/\/wordpress.org\/latest.zip \r\n# Archive auspacken\r\nunzip -q latest.zip -d \/var\/www\/html\/ \r\n# oder wenn es ein tar.gz ist dann\r\ntar zxf wordpress-4.5.3-de_DE.tar.gz -C \/var\/www\/html\/\r\n# Rechte vergeben\r\nchown -R www-data.www-data \/var\/www\/html\/wordpress \r\nchmod -R 755 \/var\/www\/html\/wordpress \r\nmkdir -p \/var\/www\/html\/wordpress\/wp-content\/uploads \r\nchown -R www-data.www-data \/var\/www\/html\/wordpress\/wp-content\/uploads\r\ncd \/var\/www\/html\/wordpress\/ \r\n# kopieren des Beispiel\r\ncp wp-config-sample.php wp-config.php\r\n# in wp-config.php den Databasenamen, User und Passwort eintragen\r\nnano wp-config.php\r\n# im Browser aufruen und Sprache und User w\u00e4hlen\r\nhttp:\/\/localhost\/wordpress\/\r\n# testen\r\n# gleich noch den Datei upload Size vergr\u00f6\u00dfern\r\n# in der \/var\/www\/html\/wordpress\/.htaccess die folgenden Eintr\u00e4ge machen:\r\nvi \/var\/www\/html\/wordpress\/.htaccess\r\nphp_value upload_max_filesize 64M\r\nphp_value post_max_size 64M\r\nphp_value max_execution_time 300\r\nphp_value max_input_time 300\r\n# unn\u00f6tige Dateien l\u00f6schen\r\nrm wp-config-sample.php\r\nrm readme.html\r\nrm liesmich.html\r\nrm \/wp-admin\/install.php\r\n# Optional: Neue Sicherheitsschl\u00fcssel (Salt) generieren \u00fcber https:\/\/api.wordpress.org\/secret-key\/1.1\/salt\/\r\n# und diesen generierten Block in die <strong>wp-config.php<\/strong> Datei einf\u00fcgen\r\n#\r\n#define('AUTH_KEY',         '-+jiH||`2);cZjy.Vy5C|!NX{KNv,Ov@=XK|SALR8++C.axK4b(Ep4U_RWAV|Ir;');\r\n#define('SECURE_AUTH_KEY',  '.+WZ>Ul&)Qak2uhZ-.(Y^]},n!.&R.VRl~+o*~7*dP{{4s*iyMO7L^{o\/#lq7Xs1');\r\n#define('LOGGED_IN_KEY',    '_T)TC.YN6r9wxM*lRbjGc0dy2;<nQA+SBk|JYoU[1S~l0xLLBWbK2x+fl<1G*IP$');\r\n#define('NONCE_KEY',        'vVrz#TDgM[,Te(v[hStvF][>ZfI;$K.^ IstOP`k>IfNo3j8h~|2rvxU&%=[eJ@w');\r\n#define('AUTH_SALT',        '\/ qC?UB4&>H&hy#=:;sP6m 0}[u~oDJGhBdqskc{gY+j1yJU~\/>rBL91P8kGtnG_');\r\n#define('SECURE_AUTH_SALT', 'tUd3QTYMV.g|86`=!-?EN_P~N+jB$LwD|q-b?g[G@E!9.,{G2n|1X1_2-+Fv,y=:');\r\n#define('LOGGED_IN_SALT',   '?d`pE;|nVH?81n2#@[VYOB__Nh.l:v=4F5_uajQ4jp.,h$Z8#N2DZ}^=|sQi7?d4');\r\n#define('NONCE_SALT',       'C*-+6P_j\/o0FTQC1.(GHJ[tXNCpou<RyB.@:mx&#038;spG@{-9< Wk|r!zoJUiwY@:M:');\r\n# Optional die wp-config.php sichern mit folgenden Eintrag in der <strong>.htaccess<\/strong> Datei:\r\n<FilesMatch \"(wp-config.php)\">\r\n  order deny,allow\r\n  deny from all\r\n<\/FilesMatch>\r\n<\/pre>\n<p>Optional ein paar gute Plugins installieren. Hier mal eine kleine Auswahl z.B.:<\/p>\n<p>Schon alt, l\u00e4uft aber noch \u201e<strong>Limit Login Attempts<\/strong>&#8222;.<br \/>\nWenn man sich da selbst aussperrt, einfach in der DB folgenden SQL absetzen:<\/p>\n<pre class=\"lang:default decode:true \" >\r\nUPDATE wp_options SET option_value = '' WHERE option_name = 'limit_login_lockouts'<\/pre>\n<p>Hier noch ein paar:<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/09\/Bildschirmfoto-2015-09-13-um-11.19.15.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6125\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/09\/Bildschirmfoto-2015-09-13-um-11.19.15.png\" alt=\"Wordpress Plugins\" width=\"1425\" height=\"426\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/09\/Bildschirmfoto-2015-09-13-um-11.19.15.png 1425w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/09\/Bildschirmfoto-2015-09-13-um-11.19.15-300x90.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/09\/Bildschirmfoto-2015-09-13-um-11.19.15-1024x306.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/09\/Bildschirmfoto-2015-09-13-um-11.19.15-900x269.png 900w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><br \/>\nOptional kann noch ein PDF Export f\u00fcr die Tabellen integriert werden, wie <a href=\"http:\/\/blog.wenzlaff.de\/?p=6338\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a> beschrieben und auch gleich die Extension f\u00fcr das <a href=\"http:\/\/blog.wenzlaff.de\/?p=6362\">automatische URL converting<\/a>.<\/p>\n<h1>Optional: PhpMyAdmin<\/h1>\n<p> installieren<br \/>\nIn <strong>\/etc\/phpmyadmin\/apache.conf<\/strong> den Eintrag<\/p>\n<pre class=\"lang:default decode:true \">#&lt;Directory \/usr\/share\/phpmyadmin&gt;\r\n#    Options FollowSymLinks\r\n#    DirectoryIndex index.php\r\nRequire ip 127.0.0.1 10.0.0.0\/24\r\n# Apache restart\r\nservice apache2 restart \r\n# Aufruf im Browser\r\n(IP)\/phpmyadmin\r\n# Anmelden mit MySql Datenbankuser und Passwort\r\n<\/pre>\n<h1>Selbstsignierte SSL Zertifikate f\u00fcr Apache2<\/h1>\n<p> erzeugen und <a href=\"https:\/\/www.liberiangeek.net\/2014\/10\/install-wordpress-self-signed-ssl-apache2-ubuntu-14-04\/\" target=\"_blank\" rel=\"noopener noreferrer\">installieren<\/a><\/p>\n<pre class=\"lang:default decode:true \">mkdir .ssl\r\ncd .ssl\r\nopenssl req -new -days 999 -newkey rsa:4096bits -sha512 -x509 -nodes -out server.crt -keyout server.key\r\n# Diese Fragen beantworten\r\n# Country Name (2 letter code) [AU]:DE\r\n# State or Province Name (full name) [Some-State]:Niedersachsen\r\n# Locality Name (eg, city) []:Hannover\r\n# Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Blog\r\n# Organizational Unit Name (eg, section) []:Dept of Blogging\r\n# Common Name (e.g. server FQDN or YOUR name) []:kleinhirn.eu \r\n# Email Address []:webmaster@yourdomain.com\r\nsudo cp server.crt \/etc\/ssl\/certs\r\nsudo cp server.key \/etc\/ssl\/private\r\nservice apache2 restart\r\n# SSL Modul aktivieren\r\na2enmod ssl\r\nservice apache2 restart\r\n# Rewrite Modul f\u00fcr sp\u00e4ter aktivieren\r\na2enmod rewrite\r\nservice apache2 restart\r\n# Status anschauen\r\nsystemctl status apache2.service\r\n# erg\u00e4nzen der erzeugten Zertifikate in\r\nsudo vi \/etc\/apache2\/sites-available\/default-ssl.conf\r\n#\r\nServerName mydomain.com:443\r\nSSLEngine on\r\nSSLCertificateFile    \/etc\/apache2\/ssl\/server.crt\r\nSSLCertificateKeyFile \/etc\/apache2\/ssl\/server.key\r\n# Default Seite aktivieren\r\na2ensite default-ssl.conf\r\n# Server Restart\r\nservice apache2 restart\r\n# http deaktivieren und https setzen in  \/etc\/apache2\/sites-enabled\/titled 000-default.conf\r\nvi \/etc\/apache2\/sites-enabled\/titled 000-default.conf\r\n# Inhalt der Datei:\r\n\r\n        ServerName xxx\r\n        ServerAlias www.xxx\r\n\r\n    \r\n        Options Indexes FollowSymLinks MultiViews\r\n        AllowOverride All\r\n        Order allow,deny\r\n        allow from all\r\n                Require all granted\r\n    \r\n\r\n        ServerAdmin webmaster@xxx.de\r\n        DocumentRoot \/var\/www\/html\/wordpress\r\n        SSLEngine on\r\n        SSLCertificateFile \/etc\/ssl\/certs\/server.crt\r\n        SSLCertificateKeyFile \/etc\/ssl\/private\/server.key\r\n        #SSLCACertificateFile  \/home\/me\/domain.com.crt\r\n\r\n        ErrorLog ${APACHE_LOG_DIR}\/error.log\r\n        CustomLog ${APACHE_LOG_DIR}\/access.log combined\r\n\r\n# Test ob der Blog mit https und den Zertifikaten l\u00e4uft im Browser\r\nhttps:\/\/(IP)\/wordpress\/wp-login.php\r\n<\/pre>\n<h1>Optional: Testen <\/h1>\n<p>welche Ports offen sind und deaktivieren!<\/p>\n<pre class=\"lang:default decode:true \" >\r\nnmap ip\r\n# oder\r\nsudo nmap -sT -O -v ip\r\n# wenn der Port 80 noch offen ist, in\r\nvi \/etc\/apache2\/ports.conf\r\n# Auskommentieren oder l\u00f6schen der Zeile\r\n# Listen 80\r\n# Wenn der Port 111 rpcbind offen ist (wird f\u00fcr Samba gebraucht), kann der auch mit dem Tool sysv-rc-conf abgeschalte werden\r\n# Tool installieren\r\nsudo apt-get install sysv-rc-conf\r\n# Tool starten\r\nsysv-rc-conf\r\n# in der letzten Spalte wo das S ist mit der Space Taste ausschalten\r\n# in der Zeile mit rpcbind\r\n# Rechner restarten\r\nreboot\r\n# neuer Check mit nmap\r\nnmap ip\r\n# alles ok, nur die gew\u00fcnschten Ports sind offen \r\n# Checken welche Module installiert sind mit\r\napache2ctl -M\r\n# Unn\u00f6tige module deaktivieren z.B. das status_module (shared)\r\na2dismod status\r\n# Server restart\r\nservice apache2 restart\r\n# Checken ob das status modul deaktiviert wurde\r\napache2ctl -M\r\n<\/pre>\n<p>Optional: Vorhandenen Blog mit dem WP Plugin <\/p>\n<h1>&#8222;All In One WP Migration&#8220;<\/h1>\n<p> exportieren und importieren, wie <a href=\"http:\/\/blog.wenzlaff.de\/?p=6049#more-6049\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a> schon mal beschrieben.<br \/>\nBeim export evl. in &#8222;Find (text) Replace with (another-text) in the database&#8220; den Eintrag xxx.ALTE-DOMAINE durch YYY-NEUE-DOMAINE ersetzen.<br \/>\nDie *.wpress Datei dann importieren.<\/p>\n<p>Optional testen, welche Apache Version l\u00e4uft mit:<\/p>\n<pre class=\"lang:default decode:true \">apachectl -V\r\n# Ergebnis: Apache\/2.4.10 (Debian)\r\n<\/pre>\n<p>Optional, die History l\u00f6schen, so das die erstellten Passw\u00f6rter nicht ausgelesen werden k\u00f6nnen<\/p>\n<pre class=\"lang:default decode:true \" >\r\nhistory -c\r\n<\/pre>\n<p>Super, der WordPress Blog l\u00e4uft nun verschl\u00fcsselt \u00fcber <strong>https<\/strong> \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wie kann ein laufender Windows XP Rechner (oder Raspberry Pi) auf Debian 8 Jessie mit WordPress 4.3 (SSL), Apache2 (SSL, https), MySql und phpMyadmin erstellt werden? Hier die gew\u00fcnschte Architektur: Alle Daten auf den Windows Rechner m\u00fcssen vorher gesichert werden, da das ganze System mit Linux \u00fcberschrieben wird. Debian Jessie installieren z.B. tools\/win32-loader\/stable\/win32-loader.exe laden und &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=6092\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eWie kann ein laufender Windows Rechner (oder Raspberry Pi) initial mit Debian 8 Jessie und WordPress 4.3 (mit SSL https) aufgesetzt werden?\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[220,2173,808,1023,1319,2047],"tags":[2242,2241,2236,2102,2231,1253,2232,503,1468,230,2045,2237,333,2233,2234,742,2240,190,2235],"class_list":["post-6092","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-debian","category-linux-2","category-raspberry-pi","category-sicherheit-2","category-wordpress","tag-2242","tag-2241","tag-apache2","tag-create","tag-database","tag-debian","tag-https","tag-install","tag-jessie","tag-linux","tag-mysql","tag-phpmyadmin","tag-port","tag-selbstsigniert","tag-signiert","tag-ssl","tag-sysv-rc-conf","tag-wordpress","tag-zertifikat"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/6092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6092"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/6092\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6092"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}