PostgreSQL

-- enable formated output
\x on

-- show databass
\l
SELECT datname FROM pg_database WHERE datistemplate = false;

-- show tables
\dt
SELECT table_schema,table_name FROM information_schema.tables ORDER BY table_schema,table_name;

-- show user
\du

-- drop database
drop database foo;
echo "drop owned by zentras" | psql

-- exit
\q

-- Display tables structure
\d+

-- Display tables size
\dT+
select
relname as "table",
pg_size_pretty(pg_total_relation_size(relid)) as "size",
pg_size_pretty(pg_total_relation_size(relid) - pg_relation_size(relid)) as "ex

WordPress

export CONTAINER=wordpress

wget -q --no-check-certificate https://raw.githubusercontent.com/panticz/lxc/master/create.jessie.sh -O - | bash -s -- -f

sudo lxc-attach -n ${CONTAINER} -- sed -i 's|PermitRootLogin without-password|PermitRootLogin yes|' /etc/ssh/sshd_config
sudo lxc-attach -n ${CONTAINER} -- service ssh restart

lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = lxcbr0
lxc.network.name = eth0
lxc.network.hwaddr = 00:16:3e:f9:d3:03
lxc.network.mtu = 1500

Ubuntu package
sudo apt install -y wordpress mariadb-server
sudo apt install mariadb-server-10.1 mariadb-client-10.1

cat < /etc/apache2/sites-available/wordpress.conf
Alias /wordpress /usr/share/wordpress

Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
Order allow,deny
Allow from all

Options FollowSymLinks
Order allow,deny
Allow from all

EOF

sudo a2ensite wordpress
sudo systemctl reload apache2

cat < /etc/wordpress/config-localhost.php
<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'yourpasswordhere');
define('DB_HOST', 'localhost');
define('WP_CONTENT_DIR', '/usr/share/wordpress/wp-content');
?>
EOF

cat < /tmp/wordpress.sql
CREATE DATABASE wordpress;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON wordpress.*
TO wordpress@localhost
IDENTIFIED BY 'yourpasswordhere';
FLUSH PRIVILEGES;
EOF

cat /tmp/wordpress.sql | sudo mysql --defaults-extra-file=/etc/mysql/debian.cnf
ln -s /etc/wordpress/config-localhost.php /etc/wordpress/config-10.0.129.230.php

# Access the server under:
http://your_server/wordpress

# Links
https://help.ubuntu.com/lts/serverguide/wordpress.html

Manual installation

apt-get install -y apache2 mysql-server php5-mysql wget vi php5
# libapache2-mod-auth-mysql

cd /var/www/html
wget http://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz

# create database
echo "CREATE DATABASE wordpress;" | mysql -u root -proot
echo "CREATE USER wordpressuser@localhost;" | mysql -u root -proot
echo "SET PASSWORD FOR wordpressuser@localhost= PASSWORD('password');" | mysql -u root -proot
echo "GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password';" | mysql -u root -proot
echo "FLUSH PRIVILEGES;" | mysql -u root -proot

cp wordpress/wp-config-sample.php wordpress/wp-config.php

sed -i 's|database_name_here|wordpress|' wordpress/wp-config.php
sed -i 's|username_here|wordpressuser|' wordpress/wp-config.php
sed -i 's|password_here|password|' wordpress/wp-config.php

vi wordpress/wp-config.php

#define('WP_ALLOW_REPAIR', true);
#define('DB_CHARSET', 'utf8');

define('DB_CHARSET', 'latin1');
define('FS_METHOD', 'direct');
define( 'WP_MEMORY_LIMIT', '96M' );
define( 'WP_MAX_MEMORY_LIMIT', '256M' );

chown www-data:www-data /var/www/html/wordpress/ -R

http://10.0.3.173/wordpress/wp-admin/install.php

http://10.0.3.173/wordpress/wp-admin/plugin-install.php
Jigoshop

# show errors
# wp-config.php
define('WP_DEBUG', true);

# configuration
UPDATE wp_options
SET option_value = REPLACE(option_value, 'new.example.com', 'www.example.com')
WHERE option_value LIKE '%new.example.com%'

#UPDATE wp_options SET `option_value` = 'you@example.com' WHERE `wp_options`.`option_id` = 5;
#UPDATE wp_users SET user_email = 'you@example.com' WHERE ID = 1;

# reset password
UPDATE wp_users SET user_pass = MD5('new_pass') WHERE ID = 1;

# wordpress extract script
# wi.php
<?php
system("tar -xzf wordpress-4.4.2.tar.gz");
?>

# fix URL
UPDATE wp_posts
SET post_content = REPLACE(post_content, 'new.example.com', 'www.example.com')
WHERE post_content LIKE '%new.example.com%'

UPDATE wp_posts
SET guid = REPLACE(guid, 'new.example.com', 'www.example.com')
WHERE guid LIKE '%new.example.com%'

# set file permissions
system("find . -type d -exec chmod 755 {} \;");
system("find . -type f -exec chmod 644 {} \;");

# Links
https://wiki.debian.org/WordPress
https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-on-ubuntu-12-04
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-12-04
https://wiki.debian.org/WordPress
http://wpde.org/e-commerce/
http://steellounge.de/
https://www.jigoshop.com/getting-started-guide/

DMA (Dragonfly Mail Agent)

# ansible role
https://github.com/panticz/ansible/tree/master/roles/dma

# preconfigure
echo "dma dma/relayhost string mail.example.com" | debconf-set-selections
echo "dma dma/mailname string $(hostname -f)" | debconf-set-selections

# install
apt-get install -y dma

# configure relayhost
echo "user|smarthost:password" >> /etc/dma/auth.conf

# send testmail
echo "This is a test message from ${USER}@$(hostname -f) at $(date)" | /usr/sbin/sendmail foo@exaple.com

Configuration files
# /etc/dma/dma.conf
AUTHPATH /etc/dma/auth.conf
SMARTHOST smtp.example.de

LXC: Installation under Ubuntu / Debian

<?php
$URL="https://raw.githubusercontent.com/panticz/installit/master/install.lxc.sh";
echo "wget --no-check-certificate $URL -O - | bash -";
echo "

";
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $URL);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
echo htmlspecialchars(curl_exec($c));
curl_close($c);
echo "

";
?>

# install under Debian Jessie
apt-get install bridge-utils
wget -q --no-check-certificate https://raw.githubusercontent.com/panticz/installit/master/install.lxc.sh -O - | bash -s -- -b
#wget http://mirrors.kernel.org/ubuntu/pool/main/l/lxc/lxc_1.0.7-0ubuntu0.2_amd64.deb -P /tmp/
#dpkg -x /tmp/lxc_1.0.7-0ubuntu0.2_amd64.deb /tmp/
#cp -a /tmp/etc/* /etc/

# Check kernel configuration
lxc-checkconfig