Projekt Caros Gruppenblog: Difference between revisions
No edit summary |
|||
(20 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Caros Frauengruppenblog = | = Caros Frauengruppenblog = | ||
Caro und ein paar Freundinnen möchten gern einen Blog zum privaten Meinungsaustausch nutzen. | |||
Daher hab ich mal wordpress installiert: | |||
https://banzhaf.chickenkiller.com/wordpress | |||
Da ich auf diesen Blog keinen Zugriff habe, gibt es noch einen zweiten für Tests: | |||
https://banzhaf.chickenkiller.com/wptest | |||
Installiert hab ich die so: | |||
== Mysql Config == | == Mysql Config == | ||
* In einem Mysql System (muß nicht der Webserver sein) einen User mit Datenbank anlegen | * In einem Mysql System (muß nicht der Webserver sein) einen User mit Datenbank anlegen | ||
** geht ganz einfach mit phpMyAdmin | ** geht ganz einfach mit phpMyAdmin | ||
*** https://banzhaf.chickenkiller.com | *** https://banzhaf.chickenkiller.com/phpMyAdmin | ||
*** Anmelden als root | *** Anmelden als root | ||
*** Link " | *** Link "Benutzer" | ||
*** Link "Neuen Benutzer hinzufügen" | *** Link "Neuen Benutzer hinzufügen" | ||
*** Formular ausfüllen | *** Formular ausfüllen | ||
Line 27: | Line 36: | ||
* Anpassen des Connect Templates wp-config-sample.php mit den oben verwendeten Mysql-Daten und umbenennen in wp-config.php | * Anpassen des Connect Templates wp-config-sample.php mit den oben verwendeten Mysql-Daten und umbenennen in wp-config.php | ||
* Anpassen der Apache Konfiguration (wordpress arbeitet mit .htaccess, das ist bei Opensuse disabled | * Anpassen der Apache Konfiguration (wordpress arbeitet mit .htaccess, das ist bei Opensuse disabled | ||
** mod_rewrite aktivieren: in /etc/sysconfig/apache2 zu Variable APACHE_MODULES "rewrite" hinzufügen | |||
** Datei wordpress/.htaccess kopieren nach /etc/apache2/conf.d/wordpress und so ändern: | ** Datei wordpress/.htaccess kopieren nach /etc/apache2/conf.d/wordpress und so ändern: | ||
<IfModule mod_rewrite.c> | <IfModule mod_rewrite.c> | ||
Line 49: | Line 59: | ||
</Location> | </Location> | ||
* Kopieren des wordpress Verzeichnis ins Document Root des Servers nach /srv/www/htdocs | * Kopieren des wordpress Verzeichnis ins Document Root des Servers nach /srv/www/htdocs | ||
* Installation starten | * Wenn vorhanden wordpress db kopieren: | ||
** https://banzhaf.chickenkiller | mysqldump -p wordpress > backup-file.sql | ||
* Neue db anlegen (z.B. mit phpMyAdmin: neuer User mit db) | |||
mysql -p wordpress < backup-file.sql | |||
* Alternativ neue Installation starten | |||
** https://banzhaf.chickenkiller.com/wordpress | |||
** Name und Kurzbeschreibung des Blogs | ** Name und Kurzbeschreibung des Blogs | ||
** Admin User | ** Admin User | ||
Line 61: | Line 75: | ||
rpm -ihv ~joachim/Downloads/libcap2-2.19-8.1.i586.rpm | rpm -ihv ~joachim/Downloads/libcap2-2.19-8.1.i586.rpm | ||
rpm -ihv ~joachim/Downloads/vsftpd-2.3.2-2.1.i586.rpm | rpm -ihv ~joachim/Downloads/vsftpd-2.3.2-2.1.i586.rpm | ||
* vsftpd Konfigurieren in /etc/vsftpd.conf | * vsftpd Konfigurieren in /etc/vsftpd.conf (allow_writable_chroot erst ab vsftpd 3.0) | ||
write_enable=YES | write_enable=YES | ||
local_enable=YES | |||
chroot_local_user=YES | chroot_local_user=YES | ||
allow_writeable_chroot=YES | |||
pam_service_name=vsftpd | pam_service_name=vsftpd | ||
listen=YES | listen=YES | ||
* PAM konfigurieren: /etc/pam.d/vsftpd ging nicht, daher sshd kopiert und außerdem in /lib/security ein Link von pam_unix.so nach pam_unix2.so | * PAM konfigurieren: für openSuse13.1 ok, aber früher: /etc/pam.d/vsftpd ging nicht, daher sshd kopiert und außerdem in /lib/security ein Link von pam_unix.so nach pam_unix2.so | ||
* User angelegt: | * User angelegt: | ||
useradd -c 'wordpress ftp user' -d /srv/www/htdocs/wordpress/ -g www wordpress | useradd -c 'wordpress ftp user' -d /srv/www/htdocs/wordpress/ -g www wordpress | ||
* vsftpd | * Passwort setzen (Caros PW, damit sie die Updates machen kann!) | ||
passwd wordpress | |||
* vsftpd start | |||
systemctl start vsftpd.service | |||
* vsftpd autostart on boot | |||
systemctl enable vsftpd.service | |||
* Gruppe von wordpress/ rekursiv auf www geändert und Schreibberechtigung erteilt | * Gruppe von wordpress/ rekursiv auf www geändert und Schreibberechtigung erteilt | ||
chgrp -R www /srv/www/htdocs/wordpress | |||
chmod -R g+w /srv/www/htdocs/wordpress | |||
* ftp logs, wenn was nicht geht (web update, plugin install) | |||
journalctl -u vsftpd.service -f | |||
== Wordpress Plugins == | == Wordpress Plugins == | ||
Line 78: | Line 102: | ||
* Redirect all logged-out users to the login page before allowing them to view the site. | * Redirect all logged-out users to the login page before allowing them to view the site. | ||
* Show error message for feed items. | * Show error message for feed items. | ||
Über Adminseite Plugin "WP-Benutzer-Avatar" installiert und konfiguriert: | |||
== Web Address Change == | |||
Access problems probably due to firewalls not passing port 444. Reconfigured router to use standard port 443: | |||
https://banzhaf.chickenkiller.com/wordpress | |||
== Backup == | |||
Make daily backup now. Currently backup size is ~30k (-> 10MB/year). | |||
=== Crontab === | |||
44 04 * * * $HOME/backup.sh | |||
=== Backup Script === | |||
#!/bin/bash | |||
DB=wordpress | |||
MOUNT_DIR=/net/qnap/BackupJob4 | |||
BACKUP_DIR="$MOUNT_DIR/$DB" | |||
if ! mount | grep -q "$MOUNT_DIR"; then | |||
mount "$MOUNT_DIR" | |||
fi | |||
if ! mysqldump "$DB" | gzip >$BACKUP_DIR/backup_`date '+%F-%H-%M-%S'`.sql.gz; then | |||
echo "$0: backup failed" | |||
fi | |||
=== Mysql Config === | |||
~/.my.cnf contains these lines: | |||
[mysqldump] | |||
user=wordpress | |||
password=the-password | |||
== Test Site == | |||
I created a test site wptest exactly like wordpress, just without the content and users. | |||
* copy wordpress directory to wptest in document root | |||
* delete the copied wp-config.php | |||
* copy wordpress.conf to wptest.conf in apache2's conf.d | |||
* create new mysql user and database wptest | |||
* add new ftp user wptest | |||
* adjust backup cron script and add it to crontab of wptest | |||
* restart apache (reload did not work for static pages) | |||
* go through the setup pages of wptest page | |||
* activate and configure the plugins | |||
https://banzhaf.chickenkiller.com/wptest |
Latest revision as of 12:16, 23 March 2014
Caros Frauengruppenblog
Caro und ein paar Freundinnen möchten gern einen Blog zum privaten Meinungsaustausch nutzen. Daher hab ich mal wordpress installiert:
https://banzhaf.chickenkiller.com/wordpress
Da ich auf diesen Blog keinen Zugriff habe, gibt es noch einen zweiten für Tests:
https://banzhaf.chickenkiller.com/wptest
Installiert hab ich die so:
Mysql Config
- In einem Mysql System (muß nicht der Webserver sein) einen User mit Datenbank anlegen
- geht ganz einfach mit phpMyAdmin
- https://banzhaf.chickenkiller.com/phpMyAdmin
- Anmelden als root
- Link "Benutzer"
- Link "Neuen Benutzer hinzufügen"
- Formular ausfüllen
- Benutzername (egal, z.b. wp)
- Host (den Webserver bzw. lokal)
- ein Passwort
- Option "Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte"
- OK
- oder folgendes SQL ausführen (** mit Passwort ersetzen)
- geht ganz einfach mit phpMyAdmin
CREATE USER 'wp'@'localhost' IDENTIFIED BY '**'; GRANT USAGE ON * . * TO 'wp'@'localhost' IDENTIFIED BY '**' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `wp` ; GRANT ALL PRIVILEGES ON `wp` . * TO 'wp'@'localhost';
Wordpress Install
- Download des deutschen V3.8.1 Wordpress Zip von der http://de.wordpress.org Seite
- Auspacken des Zip -> wordpress/ Verzeichnis
- Anpassen des Connect Templates wp-config-sample.php mit den oben verwendeten Mysql-Daten und umbenennen in wp-config.php
- Anpassen der Apache Konfiguration (wordpress arbeitet mit .htaccess, das ist bei Opensuse disabled
- mod_rewrite aktivieren: in /etc/sysconfig/apache2 zu Variable APACHE_MODULES "rewrite" hinzufügen
- Datei wordpress/.htaccess kopieren nach /etc/apache2/conf.d/wordpress und so ändern:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wordpress/index.php [L] </IfModule>
zu
<Location /wordpress/> Options FollowSymLinks <IfModule mod_rewrite.c> RewriteEngine On # RewriteBase /wordpress/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wordpress/index.php [L] </IfModule> </Location>
- Kopieren des wordpress Verzeichnis ins Document Root des Servers nach /srv/www/htdocs
- Wenn vorhanden wordpress db kopieren:
mysqldump -p wordpress > backup-file.sql
- Neue db anlegen (z.B. mit phpMyAdmin: neuer User mit db)
mysql -p wordpress < backup-file.sql
- Alternativ neue Installation starten
- https://banzhaf.chickenkiller.com/wordpress
- Name und Kurzbeschreibung des Blogs
- Admin User
- URLs auf die von außen (s.o.) einstellen
FTP Install
FTP aktivieren, damit wordpress sich updaten und Plugins installieren kann
- vsftpd Paket installieren (am besten mit Zypper). Mangels Repo unter 11.4 manuell (64bit gab es nicht):
rpm -ihv ~joachim/Downloads/libopenssl1_0_0-1.0.0c-17.1.i586.rpm rpm -ihv ~joachim/Downloads/libcap2-2.19-8.1.i586.rpm rpm -ihv ~joachim/Downloads/vsftpd-2.3.2-2.1.i586.rpm
- vsftpd Konfigurieren in /etc/vsftpd.conf (allow_writable_chroot erst ab vsftpd 3.0)
write_enable=YES local_enable=YES chroot_local_user=YES allow_writeable_chroot=YES pam_service_name=vsftpd listen=YES
- PAM konfigurieren: für openSuse13.1 ok, aber früher: /etc/pam.d/vsftpd ging nicht, daher sshd kopiert und außerdem in /lib/security ein Link von pam_unix.so nach pam_unix2.so
- User angelegt:
useradd -c 'wordpress ftp user' -d /srv/www/htdocs/wordpress/ -g www wordpress
- Passwort setzen (Caros PW, damit sie die Updates machen kann!)
passwd wordpress
- vsftpd start
systemctl start vsftpd.service
- vsftpd autostart on boot
systemctl enable vsftpd.service
- Gruppe von wordpress/ rekursiv auf www geändert und Schreibberechtigung erteilt
chgrp -R www /srv/www/htdocs/wordpress chmod -R g+w /srv/www/htdocs/wordpress
- ftp logs, wenn was nicht geht (web update, plugin install)
journalctl -u vsftpd.service -f
Wordpress Plugins
Über Adminseite Plugin "Members" installiert und konfiguriert:
- Enable the content permissions feature.
- Redirect all logged-out users to the login page before allowing them to view the site.
- Show error message for feed items.
Über Adminseite Plugin "WP-Benutzer-Avatar" installiert und konfiguriert:
Web Address Change
Access problems probably due to firewalls not passing port 444. Reconfigured router to use standard port 443:
https://banzhaf.chickenkiller.com/wordpress
Backup
Make daily backup now. Currently backup size is ~30k (-> 10MB/year).
Crontab
44 04 * * * $HOME/backup.sh
Backup Script
#!/bin/bash
DB=wordpress MOUNT_DIR=/net/qnap/BackupJob4 BACKUP_DIR="$MOUNT_DIR/$DB" if ! mount | grep -q "$MOUNT_DIR"; then mount "$MOUNT_DIR" fi if ! mysqldump "$DB" | gzip >$BACKUP_DIR/backup_`date '+%F-%H-%M-%S'`.sql.gz; then echo "$0: backup failed" fi
Mysql Config
~/.my.cnf contains these lines:
[mysqldump] user=wordpress password=the-password
Test Site
I created a test site wptest exactly like wordpress, just without the content and users.
- copy wordpress directory to wptest in document root
- delete the copied wp-config.php
- copy wordpress.conf to wptest.conf in apache2's conf.d
- create new mysql user and database wptest
- add new ftp user wptest
- adjust backup cron script and add it to crontab of wptest
- restart apache (reload did not work for static pages)
- go through the setup pages of wptest page
- activate and configure the plugins