A guide to Install Frappe Bench v14 on Ubuntu 22.04 LTS and start building the Library Tutorial I hope this makes your Frappe development and exploration more simpler. Frappe Cloud provides great capabilities too. This is for a development server and not for a production build (obviously)
Digital Ocean account and a droplet created
Ubuntu 22.04 LTS
Shared CPU with SSD
Access via SSH configured incl. knowledge of root password
df -hsudo fallocate -l 1G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfilesudo swapon --showfree -hsudo cp /etc/fstab /etc/fstab.bakecho '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstabsudo apt-get updateadduser warrenfollow the prompts and create new password and details
usermod -aG sudo warrensudo apt-get install gitsudo apt-get install python3-devsudo apt-get install python3-setuptools python3-pipsudo apt-get install virtualenvsudo apt install python3.10-venvsudo apt-get install software-properties-commonsudo apt install mariadb-server
sudo /etc/init.d/mariadb startsudo mysql_secure_installationwhen prompted select the following options:
Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
sudo apt-get install libmysqlclient-devsudo nano /etc/mysql/mariadb.conf.d/50-server.cnf comment out or delete all other entries and add this to the 50-server.cnf file
[server]
user = mysql
pid-file = /run/mysqld/mysqld.pid
socket = /run/mysqld/mysqld.sock
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
bind-address = 127.0.0.1
query_cache_size = 16M
log_error = /var/log/mysql/error.log
[mysqld]
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4sudo service mariadb restartsudo apt-get install redis-serversudo apt install curlcurl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bashsource ~/.profilenvm install 14.15.0sudo apt-get install npmsudo npm install -g yarnsudo apt-get install xvfb libfontconfig wkhtmltopdfsu - warrensudo -H pip3 install frappe-benchbench --versionchange permission of home directory
chmod -R o+rx /home/warren/bench init frappe-bench bench startsudo apt-get install supervisorbench setup supervisorsudo ln -s `pwd`/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.confsudo supervisorctl rereadyou should see the configuration items listed for bench
sudo supervisorctl updatesudo supervisorctl statusyou should see the processes running with the relevant Process IDs
sudo nano /etc/supervisor/supervisord.confUpdate the file with these values (note the user I have is warren, change it to your user that you created for Frappe)
[unix_http_server]
file=/var/tmp/supervisord.sock
chmod=0700
chown=warren:warren