Japanatron Logo

I re-built my LEMP web-server fresh on Ubuntu 20.04, and learned some things along the way. This is my base build outline.


INSTALL PACKAGES
nginx-extras
mysql-server
php php-curl php-fpm php-gd php-mysql php-xmlrpc php-memcache php-uploadprogress php-cli
unzip zip
ffmpeg
sendmail (for local mailing services)
imagemagick (to generate thumbnails for video-driven sites)

SETUP SENDMAIL
I. Set FQDN name in hosts

II. To enable sendmail to use STARTTLS, you need to:
1) Add this line to /etc/mail/sendmail.mc and optionally to /etc/mail/submit.mc: include(`/etc/mail/tls/starttls.m4')dnl
2) Run sendmailconfig
3) Restart sendmail

SETUP MYSQL
I. Enable password auth (needed for PHPMYADMIN)
mysql -u root

USE mysql;
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;

systemctl restart mysql.service

mysql_secure_installation

* Set root mysql password.
* Do not use the validation plugin because it doesn't work with PHPMYADMIN.

SETUP PHP.INI
After looking at various sample PHP configs, I found just a few key variables in php.ini that are most often tweaked:

I. Data Handling / File Uploads
post_max_size = 512 (as you like)
upload_max_filesize= 512 (as you like)
register_argc_argv = Off default / On for video-driven sites

II. Resource Limits
max_execution_time = 30 default / 7200 for video-driven sites
max_input_time = 60 default / 7200 for video-driven sites
max_input_vars = 1000 default / 5000 for video-driven sites
memory_limit = 128 default / uploadsize+1MB for video-driven sites

INSTALL / SETUP PHPMYADMIN
apt install phpmyadmin

Related Articles

Ubuntu 22.04 Nginx Build Outli...

I re-built my LEMP web-server fresh on Ubuntu 22.04 and learned some things along the way. This is my base build outline mostly created for my own notes. INS...

Nginx - Blocking Access to Joo...

I propose blocking all access to Joomla's administrator login page and front-end user login (if you don't use it) because I constantly see a-hole bots in my log...

KVM - Enable Direct PCI Pass-T...

This example was done on Ubuntu server.* Enable VM direct I/O in the BIOS.* Open /etc/default/grub using an editor like nano or something.* Find GRUB_CMDLINE_LI...

FreeNAS - Bi-Directional Rsync...

Go to /root on 1st server. ssh root@server1 cd /root FreeNAS OS drive is mounted read-only, so mount it RW. mount -o rw / Generate an RSA key & leave the ...