One of the special feature of podman over docker is, podman has the concept of pod. Pod is a feature to group containers together. One example is, is lets say we want to deploy a joomla stack. The stack can be deployed in a pod, so that the containers can be managed together, without having to operate on each single component of the stack.
To create a pod with port 8080 on localhost will be redirected to port 80 in a pod
$ podman pod create --name mypod --publish 8080:80
Next, create a container for database that belongs to our pod above
$ podman run -dit --pod mypod -e MYSQL_DATABASE=joomla -e MYSQL_USER=joomlauser -e MYSQL_PASSWORD=joomlapassword -e MYSQL_ROOT_PASSWORD=rootpw --name mariadb docker.io/library/mariadb
Check whether your mariadb container is ready, by viewing its logs
$ podman logs -f mariadb
After that create a joomla container. Since both the containers are in the same pod, joomla container can refer to mariadb with just 127.0.0.1 since both of them share the same network namespace in a pod
$ podman run -dit --pod mypod -e JOOMLA_DB_HOST=127.0.0.1 -e JOOMLA_DB_USER=joomlauser -e JOOMLA_DB_PASSWORD=joomlapassword -e JOOMLA_DB_NAME=joomla --name joomla docker.io/library/joomla
Similar to mariadb container, you can check whether your joomla container is ready by viewing its logs
$ podman logs -f joomla
Start a browser, and browse to http://0.0.0.0:8080. You should be able to access the joomla web interface. Continue with the installation using the web interface. Make sure you put 127.0.0.1 for the database host information in the web installer.
Thursday, April 30, 2020
Run a Joomla CMS in Podman Pod
Friday, May 24, 2019
Installing Joomla 3.9.6 on Centos 7 with httpd, php 7.3 and mysql 8.0
MYSQL
Install mysql 8.0 repository
# rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
Install mysql-server 8.0
# yum install -y mysql-community-server
Start mysql server
# systemctl start mysqld
Secure mysql server installation, answer yes to all question in the mysql_secure_installation procedure
# grep password /var/log/mysql.log
# mysql_secure_installation
Change mysql default authentication plugin to mysql_native_password. Refer here for more information
# cat >> /etc/my.cnf <<EOF
[mysqld]
default-authentication-plugin=mysql_native_password
Copy the code in Notice, and paste it in a new file called /var/www/html/joomla/configuration.php
Remove the installation older
Tuesday, July 3, 2018
How to install joomla 3.8.10 on ubuntu 18.04
3 main components to make joomla work are nginx, mariadb and php.
Install nginx
$ sudo apt install nginx
Install mariadb
$ sudo apt install mariadb-server
Install php and required components
$ sudo apt install php php-zlib php-xml php-json php-mcrypt
Download joomla
$ wget -c https://downloads.joomla.org/cms/joomla3/3-8-10/Joomla_3-8-10-Stable-Full_Package.tar.bz2
Extract joomla
$ mkdir joomla
$ tar -xvf Joomla_3-8-10-Stable-Full_Package.tar.bz2 -C joomla
Deploy to DocumentRoot
$ sudo mv joomla /var/www/html/
$ sudo chown www-data -R /var/www/html/joomla
Create database
$ sudo mysql
MariaDB [(none)]> create database joomla;
MariaDB [(none)]> grant all on joomla.* to joomla@localhost identified by 'password';
MariaDB [(none)]> flush privileges;
Edit nginx config as per below:
server {
listen 80;
listen [::]:80;
root /var/www/html/joomla;
index index.php index.html index.htm;
server_name 192.168.10.100;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Test for syntax error
$ sudo nginx -t
Restart nginx
$ sudo systemctl restart nginx
Browse 192.168.10.100 and follow the joomla installation wizard until finish.
Thursday, July 13, 2017
Installing joomla on Centos 7
ssh into your server as root (assuming your server ip is 10.0.0.100)
# ssh root@10.0.0.100
Install database mariadb
# yum install mariadb-server
start mariadb
# systemctl start mariadb
secure mariadb installation and answer yes (this will remove anonymous user, test database, and set root password)
# mysql_secure_installation
create database
# mysql -u root -p
# mariadb> create database joomla;
create user in mariadb
# mariadb> create user joomlauser@localhost;
grant privilege for user to access database
# mariadb> grant all privileges on joomla.* to joomlauser@localhost identified by 'password';
flush privileges
# mariadb> flush privileges;
# exit
Install httpd
# yum install httpd
start httpd
# systemctl start httpd
Install epel
# yum install epel-release
Install php php-mysql php-mcrypt
# yum install php php-mysql php-mcrypt php-xml php-zlib php-json
Restart httpd
# systemctl restart httpd
Download joomla
# wget https://downloads.joomla.org/cms/joomla3/3-7-3/Joomla_3.7.3-Stable-Full_Package.zip?format=zip
Make directory /var/www/html/joomla
# mkdir /var/www/html/joomla
Extract joomla zip file to /var/www/html/joomla
# unzip Joomla*zip -d /var/www/html/joomla
Set apache as owner and group owner
# chown apache.apache -R /var/www/html/joomla
Set permission for apache as user to read/write/exec
# chmod 755 -R /var/www/html/joomla
Allow http in firewall, and make it permanent
# firewall-cmd --add-service=http
# firewall-cmd --add-service=http --permanent
Use your favorite browser to browse to http://10.0.0.100/joomla
Follow the wizard to complete joomla installation, providing mariadb username and password set above
Remove joomla installation directory
# rm -rf /var/www/html/joomla/installation
Once finished, browse to http://10.0.0.100/joomla for user site, or http://10.0.0.100/joomla/administrator for admin site
Done






