WordPress
Sissejuhatus
WordPress (WP) http://wordpress.org/ ...
Parlance
- The Codex - WP dokumentatsioon
Ettevalmistused
WordPress tarkvara kasutamiseks peab olema kasutada
- MySQL andmebaas
mysql> create database site_1 character set utf8 collate utf8_general_ci; mysql> grant all privileges on site_1.* to 'site_1'@'%' identified by 'parool'; mysql> grant all privileges on site_1.* to 'site_1'@'localhost' identified by 'parool';
- nt Apache veebiserver
<VirtualHost 217.146.67.108:80> ServerAdmin www@site-2.moraal.ee DocumentRoot /srv/site-2.moraal.ee/html ServerName site-2.moraal.ee ErrorLog /var/log/apache2/site-2.moraal.ee-error.log LogFormat "%v %a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D" vhost CustomLog /var/log/apache2/site-2.moraal.ee-access.log vhost <Directory /srv/site-2.moraal.ee/html> Options All -Indexes AllowOverride All Order allow,deny Allow from All AddDefaultCharset "utf-8" </Directory> </VirtualHost>
- veebiserveri ees olev tulemüür peab lubama nö isanda juurde 80 ja 443 pordile pöörduda (pluginate jms paigaldamiseks ja uuendamiseks)
Süsteemis olema vajalikud abistavad teegid jms, nende paigaldamiseks sobib öelda nt
# apt-get install `echo $(apt-get install wordpress -s | grep ^Inst | grep -v wordpress | awk {'print $2'})` -s
Tarkvara paigaldamine
Kopeerida tarkvara arhiiv aadressilt http://wordpress.org/ ja pakkida lahti veebijuurika all kataloogi
# cd /var/www/html # tar zxf /var/tmp/wordpress-4.2.4.tar.gz
Muuta ajutiselt kõik rakenduse kataloogis www-data kasutajale kirjutatavaks
# chown -R www-data:www-data /var/www/html/wordpress
Avades brauseris ning täites lahtrid sobivalt, eriti andmbaasi ligipääsi ligipääsu, paigaldada rakendus
http://wp.imool/wp
- Site Title
- Username
- Password
- eposti aadress
- Privacy
Peale paigaldamist muuta kõik rakenduse kataloogis kasutajale www-data mitte-kirjutatavaks
# chown -R ftp-wp:ftp-wp /var/www/html/wordpress
Tulemusena saab Wordpressi kasutada, tõenäoliselt on tarvis veel failisüsteemi õigustes midagi kohendada, nt
# chown www-data:www-data wp-content/uploads
Admebaasi ligipääs on kirjeldatud seadistusfailis wp-config.php
define('DB_NAME', 'wp'); define('DB_USER', 'wp'); define('DB_PASSWORD', 'wpparool'); define('DB_HOST', 'localhost');
Seadistamine
TODO
Komponentide paigaldamine
TODO
Fluida teema paigaldamine
Tundub, et 2016 aasta suvel on Fluida https://wordpress.org/themes/fluida/ ilus puhas tasuta teema. Paigaldamiseks tuleb valida
Apperance -> Themes -> Add New -> Search themes -> 'Fluida'
Kasutamine
- Fluida -> Miscellaneous -> Custom Theme CSS
#footer-inside {display: none;} h1 {font-size: 20px; font-weight: bold;} .entry-content table {background-color: #f6f6f6; width: 100%;} .entry-content table.hinnatabel tr td:first-child:not(.fourcols) { width: 90%;} .entry-content table.contact tr:nth-child(2n+1) td { background-color: #fff !important; } .tulp-teenus {width: 80%;} .tulp-hind {width: 20%; text-align: center; font-weight: bold;}
Märkused
- kui /wp-admin/ uri enam ei tööta, siis võib olla abi http://codex.wordpress.org/Changing_The_Site_URL õpetusest, need read nö kirjutavad üle andmebaasis kirjeldatud väärtused, nad tuleb sisestada php faili algusse
define('WP_HOME','http://example.com'); define('WP_SITEURL','http://example.com');
või andmebaasis muuta
mysql> select option_value from wp_options where option_name='home'; mysql> select option_value from wp_options where option_name='siteurl';
mysql> update wp_options set option_value='http://www.moraal.ee/wp' where option_name='home'; mysql> update wp_options set option_value='http://www.moraal.ee/wp' where option_name='siteurl';
Tarkvara uuendamine
Tarkvara uuendamiseks on mitmeid võimalusi, muu hulgas
- webgui kaudu
- failisüsteemi kaudu
Webgui kaudu
Käesolev punkt lähtub põhimõttest, et veebiserveri protsessidel ja veebirakendustega seotud failidel ja kataloogidel peavad võimalusel olema erinevad omanikud:grupid. Vastasel korral on pahalasel veel üks võimalus teha muudatusi rakendusserveri failisüseemi tundlikus osas.
Pluginate ja WP tarkvara enda uuendamiseks on mitmeid võimalusi. Kui veebiserveri failisüsteemis on rakenduse failid mitte veebiserver protsessi vaid mingi kasutaja, kes ftp abil sisse logida saab, omad, siis on võimalik selline asjakorraldus
- kasutaja logib admin privileegidega brauseri abil teenusesse sisse
- liigub uuendamise sektsiooni ja asub uuendama; esmalt Core, siis Themes ja lõpuks Plugins
- server pöördub internetti ja kopeerib vastava uuenduse ära
- server pöördub sisemiselt ise enda poole üle ftp kasutades seda 'kasutaja' kontot ja kopeerib failid failisüsteemi sobivatesse asukohtadesse (nii toimub kopeerimine failisüsteemi mitte veebiserveri kasutajana vaid ftp kasutajana)
- wordpress teeb lisaks mingeid abistavaid toiminguid (nt muudab failisüsteemis loabitte, muudab andmebaasi sisu jne)
Selleks, et see asjakorraldus töötaks peab
- veebiserveris töötama ftp server
- tundub, et piisab kui www-data kasutaja ei saa asjadele ligi ja siis rakendus hakkab ftp abil käima, vajadusel võib wp-config.php failis kasutada selliseid ridu (lisaks saab ideid aadressilt https://codex.wordpress.org/Editing_wp-config.php) (
define( 'FS_METHOD', 'ftpsockets' ); define( 'FTP_BASE', '/html/' ); define( 'FTP_SSL', false );
kus FTP_BASE on see failisüsteemi WP rakenduse path, mis paistab ftp kasutajale peale sisselogimist (antud juhul on ftp kasutaja chrootitud)
Uuendamisel ftp serverisse sisselogimisel paistab brauseris selline pilt
Lisaks saab kasutada selliseid parameetreid, siis toimub sellesse FTP serverisse sisselogimine automaatselt
define( 'FS_METHOD', 'ftpext' ); define( 'FTP_USER', 'ftp-wp' ); define( 'FTP_PASS', 'parool' ); define( 'FTP_HOST', '127.0.0.1' ); define( 'FTP_SSL', false );
- vsftpd serveri puhul võib abiks olla logimine
log_ftp_protocol=YES
v. 4.6.1 -> 4.7.2
Tundub, et v. 4.6.1 -> 4.7.2 uuendamine töötab väga ilusti. Fluida theme juures ilmus Front Page juurde nähtavale nö kummaline asi, selle väljalülitamiseks tuleb
TODO
Failisüsteemi kaudu
Üldine protseduur, https://wordpress.org/documentation/article/updating-wordpress/#manual-update
Failisüsteemi kaudu uuendamine sobib nt juhtumil kui webgui kaudu ei pakuta sobivat versiooni, nt uuendusel v. 5.7.2 -> 5.7.11, https://wordpress.org/download/releases/#branch-57
SSL offload
Tundub, et Wordpress 6.6.2 töötab väga hästi ssl offloaderi, nt NginX taga. Paigaldamise protseduur
- esmalt paigaldada ära naturaalse http://www.auul.pri.ee/wp/ aadressile ilma ssl kasutamiseta (otse backend poole pöördudes)
- lülitada ssl kasutamine sisse all esitatud kolme muudatuse abil (1. php rakenduses webgui kaudu 2. nginx, 3. php rakenduse seadistusfail)
wordpress webgui enda seadistustes väljendada, Settings -> General
WordPress Address (URL) - https://www.auul.pri.ee/wp/ Site Address (URL) - https://www.auul.pri.ee/wp/
Seejärel nginx ssl offloader seadistustes
.. location /wp { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://192.168.1.24; proxy_connect_timeout 900; proxy_send_timeout 900; proxy_read_timeout 900; send_timeout 900; } ...
ning php rakenduse seadisusfailis wp-config.php, algusse lisatud sektsioon, muus osas fail säilib
# head -n 6 wp/wp-config.php <?php if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; } ..
Tulemusena saab rakendust kasutada aadressil https://www.auul.pri.ee/wp/ (ja üle http:// enam ei saa).
Kasulikud lisamaterjalid
- https://blog.ldev.app/running-wordpress-behind-ssl-and-nginx-reverse-proxy/
- https://www.reddit.com/r/nginxproxymanager/comments/10u0wbj/running_wordpress_behind_nginx_proxy_manager/
wp-cli
wp-cli http://wp-cli.org/ võimaldab hallata WordPress lahendust käsurealt, sh automatiseerida tegevusi.
Paigaldamine
wp-cli esineb ühe phar faili kujul, mille saab kopeerida aadressilt ...
# cd /usr/local/bin # curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar # mv wp-cli.phar wp # chmod 0755 wp
help küsimiseks sobib öelda wp ilma argumentideta
$ wp ...
Veebikoha tekitamine
Ettevalmistusena peab olema olemas
- unix kasutaja:parool
# mkdir -p /srv/site-2.moraal.ee/html # groupadd site-2 # useradd -g site-2 -m -d /srv/site-2.moraal.ee/private -s /bin/bash site-2 # chown -R site-2:site-2 /srv/site-2.moraal.ee
- create database andmebaas, kasutaja ja parool
- apache veebiserveri virt host juurkataloogiga
/srv/site-2.moraal.ee/html
Allalaadimine, tulemusena on --path kataloogi php skriptid jms lahti pakitud
$ wp core download --path=/srv/site-2.moraal.ee/html
Seadistusfaili genereerimine, tulemusena moodustatakse fail /srv/site-2.moraal.ee/html/wp-config.php; käsureal kasutatakse varem tekitatud baasi ligipääse kusjuures nende toimimist taustal kontrollitakse
$ wp config create --path=/srv/site-2.moraal.ee/html --dbname=site_2 --dbuser=site_2 --dbpass=parool --dbhost=127.0.0.1 --dbprefix=wp_
Andmebaasi sisu genereerimiseks
$ wp core install --path=/srv/site-2.moraal.ee/html --url=http://site-2.moraal.ee/ --title=site-2 --admin_user=admin \ --admin_password=parool --admin_email=imre@auul.pri.ee
Tulemusena on olemas default sisuga veebikoht aadressil http://site-2.moraal.ee/ ja sinna saab admin nimelise kasutaja ja näidatud parooliga sisse logida.
Lõpuks muuta veel osa katalooge veebiserveri kasutaja jaoks kirjutatavaks
# chown www-data:www-data /srv/site-2.moraal.ee/html/wp-content/uploads
Pluginate kasutamine
Plugina lisamine
$ wp plugin install hello-dolly --path=/srv/site-2.moraal.ee/html
Plugina aktiviseerimine
$ wp plugin activate hello-dolly --path=/srv/site-2.moraal.ee/html
Plugina deaktiviseerimine
$ wp plugin deactivate hello-dolly --path=/srv/site-2.moraal.ee/html
Pluginate nimekirja esitamine
$ wp plugin list --path=/srv/site-2.moraal.ee/html +-------------+----------+--------+---------+ | name | status | update | version | +-------------+----------+--------+---------+ | akismet | inactive | none | 3.3.2 | | hello-dolly | inactive | none | 1.6 | +-------------+----------+--------+---------+
Plugina eemaldamine
$ wp plugin uninstall hello-dolly --path=/srv/site-2.moraal.ee/html
Themes kasutamine
Theme paigaldamine
$ wp theme install fluida --path=/srv/site-3.moraal.ee/html Installing Fluida (1.3.3) Downloading install package from https://downloads.wordpress.org/theme/fluida.1.3.3.zip... Unpacking the package... Installing the theme... Theme installed successfully. Success: Installed 1 of 1 themes.
Themes nimekirja esitamine
$ wp theme list --path=/srv/site-3.moraal.ee/html +-----------------+----------+--------+---------+ | name | status | update | version | +-----------------+----------+--------+---------+ | fluida | inactive | none | 1.3.3 | | twentyfifteen | inactive | none | 1.8 | | twentyseventeen | active | none | 1.3 | | twentysixteen | inactive | none | 1.3 | +-----------------+----------+--------+---------+
Theme aktiveerimine
$ wp theme activate fluida --path=/srv/site-3.moraal.ee/html Sccess: Switched to 'Fluida' theme.
Core uuendamine
TODO
Misc
Kontrollsummade kasutamine
$ wp checksum core --path=/srv/site-2.moraal.ee/html Success: WordPress install verifies against checksums. $ echo " " >> /srv/site-2.moraal.ee/html/index.php $ wp checksum core --path=/srv/site-2.moraal.ee/html Warning: File doesn't verify against checksum: index.php Error: WordPress install doesn't verify against checksums.
Kasulikud lisamaterjalid
- https://deliciousbrains.com/automating-local-wordpress-site-setup-scripts/
- https://www.dreamhost.com/blog/upgrade-wordpress-core-command-line-wp-cli/
- https://www.linode.com/docs/websites/cms/install-wordpress-using-wp-cli-on-ubuntu-14-04
Unustatud parooli muutmine
- Andmebaasis
MariaDB [wp_napal]> UPDATE wp_moraalusers SET user_pass = MD5('uusparool') WHERE ID = 1; Query OK, 1 row affected (0.15 sec) Rows matched: 1 Changed: 1 Warnings: 0 MariaDB [wp_napal]> SELECT ID, user_login, user_pass FROM wp_moraalusers; +----+-----------------------+------------------------------------+ | ID | user_login | user_pass | +----+-----------------------+------------------------------------+ | 1 | imre.oolberg@moraal.ee | 5de5918ceb974a41a9575e385cc2f71b | ...
Kasulikud lisamaterjalid
- http://en.wikipedia.org/wiki/WordPress
- Using WordPress, Tris Hussey, 2010
- http://usingwordpress.com/
Wordpress + Fluida abil lihtsa veebikoha tekitamine
- Pages sissekannete tekitamine (Avaleht, MS1 (menüüsissekanne), MS2, MS1-MV1 (menüüvalik), MS1-MV2, Kontakt jne)
Pages - Add New -> Publish
- Menüü tekitamine
Appearance -> Menus -> create a new menü (nimega Peamenüü)
ning
Menu Stucture alla viia Pages sissekanded
ning
Menu Settings -> Display location -> Primary Navigation
- Fluida kohendamine
Themes -> Fluida -> Customize
ning seejärel läbi käia
- Site Identity -> Site Identiy -> Site Title ja Site Tagline
Moraal
- Layout - valida esimene
- Landing Page -> Settings -> Landing Page
Disabled (use WordPress homepage)
- Homepage Settings -> A static page -> Homepage
Avaleht
- Ilusad urlid (eeldab, et Apache mod rewrite jms on sisselülitatud)
Settings -> Permalinks -> Post name
20240919 andmebaasi kasutamine
MariaDB [(none)]> CREATE DATABASE projektinimi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; MariaDB [(none)]> grant all privileges on projektinimi.* to 'projektinimi'@'%' identified by 'parool'; MariaDB [(none)]> grant all privileges on projektinimi.* to 'projektinimi'@'localhost' identified by 'parool';
Kasulikud lisamaterjalid