├── .gitignore
├── .art
├── logo.png
├── wordpress-18.2-login.png
├── wordpress-18.2-landing.png
├── wordpress-18.2-new-post.png
├── wordpress-18.2-dashboard.png
├── wordpress-18.2-webmin-login.png
├── wordpress-18.2-webmin-dashboard.png
└── wordpress-18.2-webmin-landing-tklbam.png
├── overlay
├── etc
│ ├── cron.d
│ │ └── wordpress-cron
│ └── apache2
│ │ └── sites-available
│ │ └── wordpress.conf
└── usr
│ ├── lib
│ └── inithooks
│ │ ├── firstboot.d
│ │ ├── 40wordpress
│ │ └── 20regen-wordpress-secrets
│ │ └── bin
│ │ └── wordpress.py
│ └── local
│ └── bin
│ └── turnkey-wp
├── Makefile
├── plan
└── main
├── README.rst
├── conf.d
└── main
└── changelog
/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 | *.pyc
3 |
--------------------------------------------------------------------------------
/.art/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/turnkeylinux-apps/wordpress/HEAD/.art/logo.png
--------------------------------------------------------------------------------
/.art/wordpress-18.2-login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/turnkeylinux-apps/wordpress/HEAD/.art/wordpress-18.2-login.png
--------------------------------------------------------------------------------
/.art/wordpress-18.2-landing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/turnkeylinux-apps/wordpress/HEAD/.art/wordpress-18.2-landing.png
--------------------------------------------------------------------------------
/.art/wordpress-18.2-new-post.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/turnkeylinux-apps/wordpress/HEAD/.art/wordpress-18.2-new-post.png
--------------------------------------------------------------------------------
/.art/wordpress-18.2-dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/turnkeylinux-apps/wordpress/HEAD/.art/wordpress-18.2-dashboard.png
--------------------------------------------------------------------------------
/.art/wordpress-18.2-webmin-login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/turnkeylinux-apps/wordpress/HEAD/.art/wordpress-18.2-webmin-login.png
--------------------------------------------------------------------------------
/.art/wordpress-18.2-webmin-dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/turnkeylinux-apps/wordpress/HEAD/.art/wordpress-18.2-webmin-dashboard.png
--------------------------------------------------------------------------------
/.art/wordpress-18.2-webmin-landing-tklbam.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/turnkeylinux-apps/wordpress/HEAD/.art/wordpress-18.2-webmin-landing-tklbam.png
--------------------------------------------------------------------------------
/overlay/etc/cron.d/wordpress-cron:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | */5 * * * * www-data /usr/bin/curl -A 'Mozilla/5.0' 'http://127.0.0.1/wp-cron.php' >/dev/null 2>&1
3 |
--------------------------------------------------------------------------------
/overlay/usr/lib/inithooks/firstboot.d/40wordpress:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 | # set wordpress admin password and email
3 |
4 | . /etc/default/inithooks
5 |
6 | # shellcheck source=/dev/null
7 | [[ -e $INITHOOKS_CONF ]] && . $INITHOOKS_CONF
8 |
9 | $INITHOOKS_PATH/bin/wordpress.py --pass="$APP_PASS" --email="$APP_EMAIL" \
10 | --domain="$APP_DOMAIN"
11 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | COMMON_CONF = apache-credit
2 |
3 | PHP_MEMORY_LIMIT = 128M
4 | PHP_UPLOAD_MAX_FILESIZE = 16M
5 | PHP_POST_MAX_SIZE = 48M
6 |
7 | CREDIT_ANCHORTEXT = WordPress Appliance
8 | define CREDIT_STYLE_EXTRA
9 | body.wp-admin #turnkey-credit, body#image #turnkey-credit, body#media-upload #turnkey-credit {
10 | display: none;
11 | }
12 | endef
13 |
14 | include $(FAB_PATH)/common/mk/turnkey/lamp.mk
15 | include $(FAB_PATH)/common/mk/turnkey.mk
16 |
--------------------------------------------------------------------------------
/overlay/usr/local/bin/turnkey-wp:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 |
3 | [[ -z "$DEBUG" ]] || set -x
4 |
5 | WP_DIR=${WP_DIR:-/var/www/wordpress}
6 | WP_USR=${WP_USR:-www-data}
7 | WP_CACHE=${WP_CACHE:-/var/www/.wp-cli}
8 |
9 | if [[ ! -d "$WP_CACHE" ]]; then
10 | mkdir -p "$WP_CACHE"
11 | fi
12 | chown -R "$WP_USR":"$WP_USR" "$WP_CACHE"
13 |
14 | runuser "$WP_USR" -s /bin/bash \
15 | -c "/usr/local/bin/wp --path='$WP_DIR' $(printf '%q ' "$@")"
16 |
--------------------------------------------------------------------------------
/overlay/usr/lib/inithooks/firstboot.d/20regen-wordpress-secrets:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 | # regenerate wordpress secrets and mysql password
3 |
4 | . /etc/default/inithooks
5 |
6 | USER=www-data
7 | WEBROOT=/var/www/wordpress
8 | CONF=$WEBROOT/wp-config.php
9 |
10 | updateconf() {
11 | sed -i "\|^define(.*'$1'|s|,.*|, '$2');|" $CONF
12 | }
13 |
14 | runuser $USER -s /bin/bash -c "wp --path=$WEBROOT config shuffle-salts"
15 |
16 | PASSWORD=$(mcookie)
17 | updateconf DB_PASSWORD "$PASSWORD"
18 | $INITHOOKS_PATH/bin/mysqlconf.py --user=wordpress --pass="$PASSWORD"
19 |
--------------------------------------------------------------------------------
/overlay/etc/apache2/sites-available/wordpress.conf:
--------------------------------------------------------------------------------
1 | ServerName localhost
2 |
3 |
4 | UseCanonicalName Off
5 | ServerAdmin webmaster@localhost
6 | DocumentRoot /var/www/wordpress
7 |
8 |
9 |
10 | SSLEngine on
11 | ServerAdmin webmaster@localhost
12 | DocumentRoot /var/www/wordpress
13 |
14 |
15 |
16 | Options +FollowSymLinks
17 | Options -Indexes
18 | AllowOverride All
19 | order allow,deny
20 | allow from all
21 |
22 |
--------------------------------------------------------------------------------
/plan/main:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | libjs-cropper /* wordpress dep */
5 | libjs-jquery /* wordpress dep */
6 | libjs-prototype /* wordpress dep */
7 | libjs-scriptaculous /* wordpress dep */
8 | libphp-phpmailer /* wordpress dep */
9 | libphp-snoopy /* wordpress dep */
10 | php-php-gettext /* wordpress dep */
11 | php-gd /* wordpress dep */
12 | php-zip /* wordpress recommends */
13 | php-imagick /* wordpress recommends */
14 | w3m /* wordpress recommends */
15 |
16 | php-curl /* needed by some plugins */
17 |
18 | unzip /* most wordpress plugins and themes are zip archives */
19 |
--------------------------------------------------------------------------------
/overlay/usr/lib/inithooks/bin/wordpress.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python3
2 | """Set Wordpress admin password and email
3 |
4 | Option:
5 | --pass= unless provided, will ask interactively
6 | --email= unless provided, will ask interactively
7 | --domain= unless provided, will ask interactively
8 | """
9 |
10 | import sys
11 | import getopt
12 | import hashlib
13 | from typing import Optional, NoReturn
14 | import subprocess
15 |
16 | import inithooks_cache
17 | from libinithooks.dialog_wrapper import Dialog
18 | from mysqlconf import MySQL
19 |
20 |
21 | DEFAULT_DOMAIN = 'http://www.example.com'
22 |
23 |
24 | def usage(s: Optional[str] | getopt.GetoptError = None) -> NoReturn:
25 | std_output = sys.stdout
26 | exit_code = 0
27 | if s:
28 | exit_code = 1
29 | std_output = sys.stderr
30 | print("Error:", s, file=std_output)
31 | print(f"Syntax: {sys.argv[0]} [options]", file=sys.stderr)
32 | print(__doc__, file=std_output)
33 | sys.exit(exit_code)
34 |
35 |
36 | def main():
37 | opts: list[tuple[str, str]] = []
38 |
39 | try:
40 | opts, args = getopt.gnu_getopt(sys.argv[1:], "h",
41 | ['help', 'pass=', 'email=', 'domain='])
42 | except getopt.GetoptError as e:
43 | usage(e)
44 |
45 | password = ""
46 | email = ""
47 | domain = ""
48 | for opt, val in opts:
49 | if opt in ('-h', '--help'):
50 | usage()
51 | elif opt == '--pass':
52 | password = val
53 | elif opt == '--email':
54 | email = val
55 | elif opt == '--domain':
56 | domain = val
57 |
58 | d = Dialog('TurnKey Linux - Configuration')
59 | if 'd' not in locals():
60 | d = Dialog('TurnKey Linux - First boot configuration')
61 |
62 | if not password:
63 | password = d.get_password(
64 | "Wordpress Password",
65 | "Enter new password for the Wordpress 'admin' account.")
66 |
67 | if not email:
68 | email = d.get_email(
69 | "Wordpress Email",
70 | "Please enter email address for the Wordpress 'admin' account.",
71 | "admin@example.com")
72 |
73 | inithooks_cache.write('APP_EMAIL', email)
74 |
75 | if not domain:
76 | domain = d.get_input(
77 | 'WordPress domain',
78 | "Enter domain to serve WordPress, if no protocol prefix, will"
79 | " assume https.",
80 | DEFAULT_DOMAIN)
81 |
82 | if not (domain.startswith("http://") or domain.startswith("https://")):
83 | domain = f"https://{domain}"
84 | domain = domain.rstrip('/')
85 | old_domain = inithooks_cache.read('APP_DOMAIN')
86 | if not old_domain:
87 | old_domain = DEFAULT_DOMAIN
88 |
89 | subprocess.run(['/usr/local/bin/turnkey-wp', 'search-replace',
90 | old_domain, domain])
91 |
92 | inithooks_cache.write('APP_DOMAIN', domain)
93 |
94 | assert password is not None
95 | hashpass = hashlib.md5(password.encode('utf8')).hexdigest()
96 |
97 | m = MySQL()
98 | m.execute('UPDATE wordpress.wp_users SET user_pass=%s WHERE user_nicename="admin";', (hashpass,))
99 | m.execute('UPDATE wordpress.wp_users SET user_email=%s WHERE user_nicename="admin";', (email,))
100 |
101 |
102 | if __name__ == "__main__":
103 | main()
104 |
--------------------------------------------------------------------------------
/README.rst:
--------------------------------------------------------------------------------
1 | WordPress - Blog Publishing Platform
2 | ====================================
3 |
4 | `WordPress`_ is a state-of-the-art publishing platform with a focus on
5 | aesthetics, web standards, and usability. It is one of the worlds most
6 | popular blog publishing applications, includes tons of powerful core
7 | functionality, extendable via literally thousands of plugins, and
8 | supports full theming.
9 |
10 | This appliance includes all the standard features in `TurnKey Core`_,
11 | and on top of that:
12 |
13 | - WordPress configurations:
14 |
15 | - Installed from upstream source code to /var/www/wordpress
16 | - Integrated upgrade mechanism: get WordPress updates straight from
17 | WordPress' creator Automattic.
18 | - Uploading of media such as images, videos, etc.
19 | - Permalinks configuration supported through admin console
20 | (convenience)
21 | - Automatic minor updates are supported (convenience).
22 | - **Security note**: Major updates to wordpress may require
23 | supervision so they **ARE NOT** configured to install automatically.
24 | See upstream documentation for updating Wordpress major releases.
25 |
26 | - Landing page provides links to `WordPress plugin search`_, plus a number of
27 | useful and popular Wordpress plugins (none pre-installed):
28 |
29 | - `Yost SEO`_: Optimizes your WordPress blog for search engines and XML
30 | sitemaps.
31 | - `NextGEN Gallery`_: Easy to use image gallery with thumbnail & slideshow
32 | options.
33 | - `JetPack by WordPress.com`_: Jetpack adds powerful features previously
34 | only available to WordPress.com users including customization,
35 | traffic, mobile, content, and performance tools.
36 | - `WP Super Cache`_: Accelerates your blog by serving 99% of your
37 | visitors via static HTML files.
38 | - `Social Media Share Buttons & Icons`_: Promote your content by adding
39 | links to social sharing and bookmarking sites.
40 | - `Simple Tags`_: automatically adds tags and related posts to your
41 | content.
42 | - `BackupWordPress`_: easily backup your core WordPress tables.
43 | - `Google Analytics Dashboard for WordPress`_: track visitors, AdSense
44 | clicks, outgoing links, and search queries.
45 | - `WP-Polls`_: Adds an easily customizable AJAX poll system to your
46 | blog.
47 | - `WP-PageNavi`_: Adds more advanced paging navigation.
48 | - `Ozh admin dropdown menu`_: Creates a drop down menu with all admin
49 | links.
50 | - `Contact Form 7`_: Customizable contact forms supporting AJAX,
51 | CAPTCHA and Akismet integration.
52 | - `Seriously Simple Podcasting`_: Simple Podcasting from your WordPress
53 | site.
54 |
55 | - SSL support out of the box.
56 | - `Adminer`_ administration frontend for MySQL (listening on port
57 | 12322 - uses SSL).
58 | - Postfix MTA (bound to localhost) to allow sending of email (e.g.,
59 | password recovery).
60 | - Webmin modules for configuring Apache2, PHP, MySQL (MariaDB) and Postfix.
61 |
62 | See the `WordPress docs`_ for further details (including multisite
63 | howto).
64 |
65 | Credentials *(passwords set at first boot)*
66 | -------------------------------------------
67 |
68 | - Webmin, SSH, MySQL: username **root**
69 | - Adminer: username **adminer**
70 | - Wordpress: username **admin**
71 |
72 |
73 | .. _WordPress: https://wordpress.org
74 | .. _TurnKey Core: https://www.turnkeylinux.org/core
75 | .. _WordPress plugin search: https://wordpress.org/plugins/
76 | .. _Yost SEO: https://wordpress.org/plugins/wordpress-seo/
77 | .. _NextGEN Gallery: https://wordpress.org/plugins/nextgen-gallery/
78 | .. _JetPack by WordPress.com: https://wordpress.org/plugins/jetpack/
79 | .. _WP Super Cache: https://wordpress.org/plugins/wp-super-cache/
80 | .. _Social Media Share Buttons & Icons: https://wordpress.org/plugins/ultimate-social-media-icons/
81 | .. _Simple Tags: https://wordpress.org/plugins/simple-tags/
82 | .. _BackupWordPress: https://wordpress.org/plugins/backupwordpress/
83 | .. _Google Analytics Dashboard for WordPress: https://wordpress.org/plugins/google-analytics-for-wordpress/
84 | .. _WP-Polls: https://wordpress.org/plugins/wp-polls/
85 | .. _WP-PageNavi: http://wordpress.org/plugins/wp-pagenavi/
86 | .. _Ozh admin dropdown menu: https://wordpress.org/plugins/ozh-admin-drop-down-menu/
87 | .. _Contact Form 7: https://wordpress.org/plugins/contact-form-7/
88 | .. _Seriously Simple Podcasting: https://wordpress.org/plugins/seriously-simple-podcasting/
89 | .. _Adminer: https://www.adminer.org/
90 | .. _WordPress docs: https://www.turnkeylinux.org/docs/wordpress
91 |
--------------------------------------------------------------------------------
/conf.d/main:
--------------------------------------------------------------------------------
1 | #!/bin/bash -ex
2 |
3 | WPROOT=/var/www/wordpress
4 | USER=www-data
5 |
6 | DB_USER=wordpress
7 | DB_NAME=wordpress
8 | DB_PREFIX=wp_
9 | #DB_PASS=$(mcookie)
10 | DB_PASS=turnkey
11 |
12 | WP_URL="http://www.example.com"
13 | ADMIN_USER="admin"
14 | ADMIN_PASS=turnkey
15 | ADMIN_MAIL=admin@example.com
16 |
17 | # update php conf - see Makefile for others
18 | sed -i "s|^allow_url_fopen.*|allow_url_fopen = On|" /etc/php/?.?/apache2/php.ini
19 |
20 | # Install wp-cli commandline tool
21 | wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp
22 | chmod +x /usr/local/bin/wp
23 | wget https://raw.githubusercontent.com/wp-cli/wp-cli/v2.6.0/utils/wp-completion.bash -O ~/.bashrc.d/wp-completion
24 | chmod +x ~/.bashrc.d/wp-completion
25 |
26 | # create the database and user
27 | service mysql start
28 | mysqladmin create $DB_NAME
29 | mysql --batch --execute "grant all privileges on $DB_NAME.* to $DB_USER@localhost identified by '$DB_PASS'; flush privileges;"
30 |
31 | # install wordpress
32 | mkdir -p $WPROOT
33 | chown -R $USER:$USER $WPROOT
34 | turnkey-wp core download --path=$WPROOT
35 | cd $WPROOT
36 | turnkey-wp config create --dbname="$DB_NAME" \
37 | --dbuser="$DB_NAME" \
38 | --dbpass="$DB_PASS" \
39 | --dbprefix="$DB_PREFIX"
40 | turnkey-wp core install --url="$WP_URL" \
41 | --title="TurnKey Linux" \
42 | --admin_user="$ADMIN_USER" \
43 | --admin_password="$ADMIN_PASS" \
44 | --admin_email="$ADMIN_MAIL"
45 |
46 | cat >> $WPROOT/wp-config.php <
76 | Yoast SEO: Optimizes your WordPress blog for search engines and XML sitemaps.
77 | NextGEN Gallery: Easy to use image gallery with thumbnail & slideshow options.
78 | JetPack by WordPress.com: Jetpack adds powerful features previously only available to WordPress.com users including customization, traffic, mobile, content, and performance tools.
79 | WP Super Cache: Accelerates your blog by serving 99% of your visitors via static HTML files.
80 | Social Media Share Buttons & Icons: Promote your content by adding links to social sharing and bookmarking sites.
81 | Simple Tags: automatically adds tags and related posts to your content.
82 | BackupWordPress: easily backup your core WordPress tables.
83 | Google Analytics Dashboard for WordPress: track visitors, AdSense clicks, outgoing links, and search queries.
84 | WP-Polls: Adds an easily customizable AJAX poll system to your blog.
85 | WP-PageNavi: Adds more advanced paging navigation.
86 | Ozh admin dropdown menu: Creates a drop down menu with all admin links.
87 | Contact Form 7: Customizable contact forms supporting AJAX, CAPTCHA and Akismet integration.
88 | Seriously Simple Podcasting: Simple Podcasting from your WordPress site.
89 | ' WHERE ID = '1';
90 | EOF
91 |
92 | turnkey-wp plugin update --all
93 |
94 | # fix permissions for updates
95 | chown -R www-data:www-data $WPROOT
96 | find $WPROOT -type d -exec chmod 755 {} \;
97 | find $WPROOT -type f -exec chmod 644 {} \;
98 |
99 | # stop mysql server
100 | service mysql stop
101 |
--------------------------------------------------------------------------------
/changelog:
--------------------------------------------------------------------------------
1 | turnkey-wordpress-18.2 (1) turnkey; urgency=low
2 |
3 | * Update WordPress to latest upstream - v6.6.1.
4 |
5 | * Fix wp admin login - set email and password properly on firstboot - closes
6 | #1976.
7 | [Andrew Yu ]
8 |
9 | -- Jeremy Davis Thu, 15 Aug 2024 22:33:08 +0000
10 |
11 | turnkey-wordpress-18.1 (1) turnkey; urgency=low
12 |
13 | * Update WordPress to latest upstream - v6.5.4.
14 |
15 | * Require WordPress domain to be set - resolves some weird asset loading
16 | problems.
17 |
18 | * Improve turnkey-wp wp-cli wrapper/helper script to resolve some edge case
19 | failures.
20 |
21 | * Rebuild for v18.1 - including more recent v18.0 common bugfixes & latest
22 | Debian packages.
23 |
24 | * Configuration console (confconsole) - v2.1.6:
25 | - Bugfix broken DNS-01 Let's Encrypt challenge - closes #1876 & #1895.
26 | Fixed in v2.1.5.
27 | - Let's Encrypt/Dehydrated - bugfix cron failure - closes #1962.
28 | - General dehydrated-wrapper code cleanup - now passes shellcheck
29 |
30 | * Ensure hashfile includes URL to public key - closes #1864.
31 |
32 | * Web management console (webmin):
33 | - Include webmin-logviewer module by default - closes #1866.
34 | - Upgraded webmin to v2.105.
35 | - Replace webmin-shell with webmin-xterm module by default - closes #1904.
36 |
37 | * Includes new 'tkl-upgrade-php' helper script - to allow easy update/change
38 | of PHP version - closes #1892.
39 | [Marcos Méndez @ POPSOLUTIONS ]
40 |
41 | * DEV: Add support for setting max_execution_time & max_input_vars in
42 | php.ini via appliance Makefile (PHP_MAX_EXECUTION_TIME &
43 | PHP_MAX_INPUT_VARS).
44 |
45 | -- Jeremy Davis Sat, 06 Jul 2024 13:13:55 +0000
46 |
47 | turnkey-wordpress-18.0 (1) turnkey; urgency=low
48 |
49 | * Ensure hashfile includes URL to public key - closes #1864.
50 |
51 | * Include webmin-logviewer module by default - closes #1866.
52 |
53 | * Updated to latest upstream WordPress - v6.3.2.
54 | [ Stefan Davis ]
55 |
56 | * Debian default PHP updated to v8.2.
57 |
58 | * Use MariaDB (MySQL replacement) v10.11.3 (from debian repos).
59 |
60 | * Upgraded base distribution to Debian 12.x/Bookworm.
61 |
62 | * Configuration console (confconsole):
63 | - Support for DNS-01 Let's Encrypt challenges.
64 | [ Oleh Dmytrychenko github: @NitrogenUA ]
65 | - Support for getting Let's Encrypt cert via IPv6 - closes #1785.
66 | - Refactor network interface code to ensure that it works as expected and
67 | supports more possible network config (e.g. hotplug interfaces & wifi).
68 | - Show error message rather than stacktrace when window resized to
69 | incompatable resolution - closes #1609.
70 | [ Stefan Davis ]
71 | - Bugfix exception when quitting configuration of mail relay.
72 | [ Oleh Dmytrychenko github: @NitrogenUA ]
73 | - Improve code quality: implement typing, fstrings and make (mostly) PEP8
74 | compliant.
75 | [Stefan Davis & Jeremy Davis
76 |
77 | * Firstboot Initialization (inithooks):
78 | - Refactor start up (now hooks into getty process, rather than having it's
79 | own service).
80 | [ Stefan Davis ]
81 | - Refactor firstboot.d/01ipconfig (and 09hostname) to ensure that hostname
82 | is included in dhcp info when set via inithooks.
83 | - Package turnkey-make-ssl-cert script (from common overlay - now packaged
84 | as turnkey-ssl). Refactor relevant scripts to leverage turnkey-ssl.
85 | - Refactor run script - use bashisms and general tidying.
86 | - Show blacklisted password characters more nicely.
87 | - Misc packaging changes/improvements.
88 | - Support returning output from MySQL - i.e. support 'SELECT'. (Only
89 | applies to apps that include MySQL/MariaDB).
90 |
91 | * Web management console (webmin):
92 | - Upgraded webmin to v2.0.21.
93 | - Removed stunnel reverse proxy (Webmin hosted directly now).
94 | - Ensure that Webmin uses HTTPS with default cert
95 | (/etc/ssl/private/cert.pem).
96 | - Disabled Webmin Let's Encrypt (for now).
97 |
98 | * Web shell (shellinabox):
99 | - Completely removed in v18.0 (Webmin now has a proper interactive shell).
100 |
101 | * Backup (tklbam):
102 | - Ported dependencies to Debian Bookworm; otherwise unchanged.
103 |
104 | * Security hardening & improvements:
105 | - Generate and use new TurnKey Bookworm keys.
106 | - Automate (and require) default pinning for packages from Debian
107 | backports. Also support non-free backports.
108 |
109 | * IPv6 support:
110 | - Adminer (only on LAMP based apps) listen on IPv6.
111 | - Nginx/NodeJS (NodeJS based apps only) listen on IPv6.
112 |
113 | * Misc bugfixes & feature implementations:
114 | - Remove rsyslog package (systemd journal now all that's needed).
115 | - Include zstd compression support.
116 | - Enable new non-free-firmware apt repo by default.
117 | - Improve turnkey-artisan so that it works reliably in cron jobs (only
118 | Laravel based LAMP apps).
119 |
120 | * Include and enable mod_evasive and mod_security2 by default in Apache.
121 | [ Stefan Davis ]
122 |
123 | -- Jeremy Davis Fri, 03 Nov 2023 04:49:07 +0000
124 |
125 | turnkey-wordpress-17.1 (1) turnkey; urgency=low
126 |
127 | * Updated all Debian packages to latest.
128 | [ autopatched by buildtasks ]
129 |
130 | * Patched bugfix release. Closes #1734.
131 | [ autopatched by buildtasks ]
132 |
133 | -- Jeremy Davis Fri, 11 Nov 2022 02:19:00 +0000
134 |
135 | turnkey-wordpress-17.0 (1) turnkey; urgency=low
136 |
137 | * Updating wordpress appliance and its dependencies with tkldev to v17.0.
138 |
139 | * Bumping php version to 7.4 debian default in conf.d/main.
140 |
141 | * Bumping wp-cli release version to v2.6.0 .
142 |
143 | * Updating and removing outdated packages tinymce and php-gettext in
144 | plan/main file.
145 |
146 | * Note: Please refer to turnkey-core's 17.0 changelog for changes common to
147 | all appliances. Here we only describe changes specific to this appliance.
148 |
149 | -- Mattie Darden Wed, 12 Oct 2022 12:40:06 -0400
150 |
151 | turnkey-wordpress-16.1 (1) turnkey; urgency=low
152 |
153 | * Update Wordpress to latest upstream version - 5.6.1.
154 |
155 | * Do most of install via 'wp' CLI tool (aka wp-cli; using 'turnkey-wp'
156 | wrapper script). Still uses our custom php install script for final step
157 | as wp-cli requires a URL. Closes #1437.
158 |
159 | * Include additional (optional/recommended) PHP modules (zip & imagick).
160 | Closes #1466.
161 |
162 | * Reduce cron job interval to 5 minutes - closes #1323.
163 |
164 | * Note: Please refer to turnkey-core's 16.1 changelog for changes common to
165 | all appliances. Here we only describe changes specific to this appliance.
166 |
167 | -- Jeremy Davis Wed, 17 Feb 2021 11:35:04 +1100
168 |
169 | turnkey-wordpress-16.0 (1) turnkey; urgency=low
170 |
171 | * Update Wordpress to latest upstream version - 5.4.
172 |
173 | * Update WordPress inithook to python3.
174 | [ Stefan Davis ]
175 |
176 | * Include wp-cli tool. Closes #293.
177 |
178 | * Include 'turnkey-wp' convenience script (leverages runuser to run as
179 | www-data and sets --path=/var/www/wordpress).
180 |
181 | * Leverage wp-cli (via turnkey-wp) to regenerate salts on firstboot.
182 |
183 | * Enable WP_CACHE by default.
184 |
185 | * Exclude default cache location (/var/www/wordpress/wp-content/cache) from
186 | TKLBAM profile. Closes #1411.
187 |
188 | * Note: Please refer to turnkey-core's v16.0 changelog for changes common to
189 | all appliances. Here we only describe changes specific to this appliance.
190 |
191 | -- Jeremy Davis Thu, 16 Apr 2020 14:16:10 +1000
192 |
193 | turnkey-wordpress-15.3 (1) turnkey; urgency=low
194 |
195 | * Update WordPress to latest upstream version - 5.2.
196 |
197 | * Fixed broken cronjob - closes #1322.
198 | [ Stefan Davis ]
199 |
200 | * Updated landing page and README WordPress plugin links.
201 |
202 | -- Jeremy Davis Thu, 09 May 2019 10:25:52 +1000
203 |
204 | turnkey-wordpress-15.2 (1) turnkey; urgency=low
205 |
206 | * Rebuild to resolve inadvertent removal of mariadb during sec-updates
207 | - part of #1246.
208 | [ Jeremy Davis ]
209 |
210 | * Fixed cronjob
211 |
212 | -- Stefan Davis Mon, 29 Apr 2019 00:17:06 +0000
213 |
214 | turnkey-wordpress-15.1 (1) turnkey; urgency=low
215 |
216 | * Upgraded to lastest WordPress version (v4.9.8).
217 |
218 | -- Jeremy Davis Thu, 18 Oct 2018 13:16:12 +1100
219 |
220 | turnkey-wordpress-15.0 (1) turnkey; urgency=low
221 |
222 | * Latest version of WordPress
223 |
224 | * conf.d script optimizations.
225 | [ Vlad Kuzmenko ]
226 |
227 | * refactored wp-config.php to closer match wp-config-sample.php (closes
228 | #1109).
229 | [ Jeremy Davis ]
230 |
231 | * Install Adminer directly from stretch/main repo
232 |
233 | * Provide "adminer" root-like user for Adminer MySQL access
234 |
235 | * Replace MySQL with MariaDB (drop-in MySQL replacement)
236 |
237 | * Updated version of mysqltuner script
238 |
239 | * Includes PHP7.0 (installed from Debian repos)
240 |
241 | * Updated PHP default settings
242 |
243 | * Remove phpsh (no longer maintained)
244 |
245 | * Note: Please refer to turnkey-core's changelog for changes common to all
246 | appliances. Here we only describe changes specific to this appliance.
247 |
248 | -- Stefan Davis Fri, 15 Jun 2018 17:26:35 +1000
249 |
250 | turnkey-wordpress-14.2 (1) turnkey; urgency=low
251 |
252 | * Upgraded WordPress to latest upstream version (v4.7.4).
253 |
254 | * Install "pristine" WordPress (no default plugins). Previous default plugins
255 | are now recommendations on landing page [closes #664].
256 |
257 | * Disabled WP-cron; substitute with Linux cron [closes #545].
258 |
259 | * Updated Adminer to 4.2.5
260 |
261 | * Installed security updates.
262 |
263 | * Note: Please refer to turnkey-core's changelog for changes common to all
264 | appliances. Here we only describe changes specific to this appliance.
265 |
266 | -- Jeremy Davis Wed, 19 Apr 2017 13:12:14 +1000
267 |
268 | turnkey-wordpress-14.1 (1) turnkey; urgency=low
269 |
270 | * WordPress:
271 |
272 | - Latest upstream version of WordPress and plugins
273 |
274 | * Note: Please refer to turnkey-core's changelog for changes common to all
275 | appliances. Here we only describe changes specific to this appliance.
276 |
277 | -- Stefan Davis Wed, 13 Jan 2016 04:15:09 +1100
278 |
279 | turnkey-wordpress-14.0 (1) turnkey; urgency=low
280 |
281 | * WordPress:
282 |
283 | - Latest upstream version of WordPress and plugins
284 | - Increased PHP upload and max_posts size limits
285 | - Made sure all the plugins are downloaded as the latest (stable)upstream version
286 | - WordPress can now update itself and install plugins without asking for FTP credentials
287 |
288 | * Added plugins
289 |
290 | jetpack (new solution for wp.com services, replaces stats)
291 | backupwordpress (replaces wp-db-backup)
292 | seriously-simple-podcasting (replaces podpress)
293 |
294 | * Removed plugins
295 |
296 | podpress (removed from WordPress plugin repo)
297 | socialable (no active maintenance)
298 | stats (is now merged into jetpack)
299 | wp-db-backup (not compatible with WordPress 4)
300 |
301 | * Replaced phpMyAdmin with Adminer
302 |
303 | * Hardened default SSL settings
304 |
305 | * Note: Please refer to turnkey-core's changelog for changes common to all
306 | appliances. Here we only describe changes specific to this appliance.
307 |
308 | -- Jeroen Peters Wed, 13 May 2015 15:00:00 +0100
309 |
310 | turnkey-wordpress-13.0 (1) turnkey; urgency=low
311 |
312 | * WordPress:
313 |
314 | - Latest upstream version of WordPress and plugins (except for those
315 | specified below).
316 | - Increase PHP memory limit [#19].
317 |
318 | * phpMyAdmin:
319 |
320 | - Configured to allow users preferences stored in database.
321 | - Specified blowfish_secret and regeneration on firstboot (security).
322 |
323 | * Upstream source component versions:
324 |
325 | wp-super-cache 1.2
326 | wp-pagenavi 2.83
327 | wp-db-backup 2.2.3
328 | simple-tags 2.2
329 | sociable 4.3.3
330 | contact-form 7.3.3.3
331 |
332 | * Note: Please refer to turnkey-core's changelog for changes common to all
333 | appliances. Here we only describe changes specific to this appliance.
334 |
335 | -- Alon Swartz Fri, 11 Oct 2013 11:35:02 +0300
336 |
337 | turnkey-wordpress-12.1 (1) turnkey; urgency=low
338 |
339 | * WordPress:
340 |
341 | - Latest wordpress version and plugins will be installed at build
342 | time, except for those specified below.
343 |
344 | - Plugin updates:
345 | - Removed akismet (bundled with wordpress installation)
346 | - Removed maxblogpress-ping-optimizer (deprecated, wp has native support)
347 |
348 | * Added phpsh (interactive shell for PHP) and php5-cli (generically useful).
349 |
350 | * Upstream source component versions:
351 |
352 | wp-super-cache 1.2
353 | wp-pagenavi 2.83
354 | wp-db-backup 2.2.3
355 | simple-tags 2.2
356 | sociable 4.3.3
357 | contact-form 7.3.3.3
358 | podpress 8.8.10.13
359 |
360 | * Note: Please refer to turnkey-core's changelog for changes common to all
361 | appliances. Here we only describe changes specific to this appliance.
362 |
363 | -- Alon Swartz Fri, 05 Apr 2013 08:00:00 +0200
364 |
365 | turnkey-wordpress-12.0 (1) turnkey; urgency=low
366 |
367 | * WordPress:
368 |
369 | - Upgraded to latest upstream archive.
370 | - Upgraded all plugins to latest upstream versions.
371 | - Added wordpress-seo plugin (replaces all-in-one-seo-pack and
372 | google-sitemap-generator).
373 | - Added Multi-Site HowTo link to wp-config (convenience).
374 | - Added "stop editing" line to wp-config (closes LP#973554).
375 |
376 | * Major component versions
377 |
378 | wordpress 3.4.1 (upstream archive)
379 | apache2 2.2.16-6+squeeze7
380 | mysql-server 5.1.63-0+squeeze1
381 | phpmyadmin 4:3.3.7-7
382 |
383 | * Note: Please refer to turnkey-core's changelog for changes common to all
384 | appliances. Here we only describe changes specific to this appliance.
385 |
386 | -- Alon Swartz Wed, 01 Aug 2012 08:00:00 +0200
387 |
388 | turnkey-wordpress-11.3 (1) turnkey; urgency=low
389 |
390 | * Installed security updates.
391 | * Enabled etckeeper garbage collection by default.
392 | * Upgraded to latest inithooks version (adhoc re-initialization via turnkey-init)
393 |
394 | -- Alon Swartz Mon, 05 Dec 2011 10:48:44 +0000
395 |
396 | turnkey-wordpress-11.2 (1) turnkey; urgency=low
397 |
398 | * Installed security updates.
399 | * Added HubDNS package and firstboot configuration.
400 |
401 | -- Alon Swartz Fri, 15 Jul 2011 07:47:08 +0000
402 |
403 | turnkey-wordpress-11.1 (1) turnkey; urgency=low
404 |
405 | * WordPress:
406 |
407 | - Added random salts (security).
408 | - Upgraded all plugins to latest versions.
409 | - Removed cforms plugin (licensing issues).
410 |
411 | * Set Wordpress admin email and password on firstboot (convenience, security).
412 |
413 | * Set MySQL root password on firstboot (convenience, security).
414 |
415 | * Force MySQL to use Unicode/UTF8.
416 |
417 | * Added php-xcache PHP opcode cacher / optimizer (performance).
418 |
419 | * Set postfix MTA myhostname to localhost (bugfix).
420 |
421 | * Enabled tracking in phpMyAdmin.
422 |
423 | * Major component versions:
424 |
425 | wordpress 3.0.3 (upstream tarball)
426 | mysql-server 5.1.41-3ubuntu12.8
427 | apache2 2.2.14-5ubuntu8.4
428 | phpmyadmin 4:3.3.2-1
429 |
430 | * Note: Please refer to turnkey-core's changelog for changes common to all
431 | appliances. Here we only describe changes specific to this appliance.
432 |
433 | -- Alon Swartz Sun, 19 Dec 2010 15:01:05 +0200
434 |
435 | turnkey-wordpress-2009.10 (2) hardy; urgency=low
436 |
437 | * Installed all security updates (see manifest for package versions).
438 |
439 | * Install security updates on firstboot (except when running live).
440 |
441 | * Trick webmin into not checking for upgrades (managed by apt).
442 |
443 | * Updated di-live mysql mechanism and secret regeneration.
444 |
445 | * Included latest version of inithooks and updated scripts.
446 |
447 | * Included wget as per common request.
448 |
449 | -- Alon Swartz Mon, 29 Mar 2010 09:02:11 +0200
450 |
451 | turnkey-wordpress-2009.10 (1) hardy; urgency=low
452 |
453 | * Upgraded to Wordpress 2.8.4
454 |
455 | - Using upstream tarball instead of deb package as it now includes an
456 | integrated upgrade mechanism.
457 |
458 | * added useful/popular wordpress plugins:
459 |
460 | - All in One SEO Pack
461 | - Google XML Sitemaps
462 | - NextGEN Gallery
463 | - WordPress.com Stats
464 | - WP Super Cache
465 | - Contact Form 7
466 | - Sociable
467 | - Viper's Video Quicktags
468 | - Simple Tags
469 | - WP-DB-Backup
470 | - Google Analytics for WordPress
471 | - WP-Polls
472 | - podPress
473 | - WP-PageNavi
474 | - OZH admin dropdown menu
475 | - Cforms
476 | - MaxBlogPress ping optimizer
477 |
478 | * phpMyAdmin improvements:
479 |
480 | - Added pmadb (linked tables) advanced features to phpMyAdmin (LP#426303).
481 | - Pinned phpMyAdmin to update directly from Debian (security).
482 |
483 | * di-live (installer) MySQL component
484 |
485 | - Added support for complex passwords (LP#416515).
486 | - Added CLI options (user/pass/query/chroot).
487 |
488 | * Bugfix: Removed build systems hostname from MySQL user table.
489 |
490 | * Regenerates all secrets during installation / firstboot (security).
491 |
492 | * Major component versions:
493 |
494 | wordpress 2.8.4 (upstream tarball)
495 | mysql-server 5.0.51a-3ubuntu5.4
496 | apache2 2.2.8-1ubuntu0.11
497 | phpmyadmin 2.11.8.1-5+lenny1
498 |
499 | * Note: Please refer to turnkey-core's changelog for changes common to all
500 | appliances. Here we only describe changes specific to this appliance.
501 |
502 | -- Alon Swartz Tue, 29 Sep 2009 15:39:41 +0200
503 |
504 | turnkey-wordpress-2009.03 (1) hardy; urgency=low
505 |
506 | * initial public release of TurnKey Linux WordPress
507 |
508 | * SSL support out of the box
509 |
510 | * wordpress related
511 |
512 | - uploading of media (images, videos, etc.) supported
513 | - permalinks configuration supported through admin console (convenience)
514 | - automatic plugin upgrades supported (convenience)
515 | - fixed password reset link bug (Debian #519798)
516 | - auto-install security updates directly from Debian stable (security)
517 | - suppress annoying new version messages (updated directly from Debian)
518 | - wp_siteurl and wp_home are set automatically using HTTP_HOST
519 | - welcome post includes useful information and login credentials
520 |
521 | * regenerate WP secret key and mysql password during installation (security)
522 |
523 | * mysql-related
524 |
525 | - includes PhpMyAdmin (listening on port 12322 - uses SSL)
526 | - set empty mysql root password in live/demo mode (for convenience)
527 | - support configuring mysql root password during installation
528 |
529 | * includes postfix MTA (bound to localhost) for sending of email from
530 | wordpress (e.g., password recovery). Also includes webmin postfix
531 | module for convenience.
532 |
533 | * major component versions
534 |
535 | wordpress 2.5.1-11
536 | mysql-server 5.0.51a-3ubuntu5.4
537 | apache2 2.2.8-1ubuntu0.5
538 | phpmyadmin 2.11.8.1-5
539 |
540 | * note: please refer to turnkey-core's changelog for changes common to all
541 | appliances. Here we only describe changes specific to this appliance.
542 |
543 | -- Alon Swartz Thu, 12 Mar 2009 10:51:40 +0200
544 |
--------------------------------------------------------------------------------