If you are tired of using control panels (I am because they are mostly not secure, and most comes loaded with bundles of useless stacks), and want to do everything on the server level, I wrote a menu-driven bash program that handles the installation of ClassicPress or WordPress using Nginx (+ Caching), PHP and mariadb.
It also provides the ability to secure your website using Let's Encrypt, and Certbot for the auto-config. I made this optional because I might just want to do some local development, so, I won't need an SSL in that regard.
As of the time of writing this, it took only 1min.34s (proof in the video below) to configure a website on a fresh server instance, it shouldn't take more than 30s to add other sites.
I might add new features like support for SFTP, this way you can use whatever SFTP client as a (file manager), I might also add PHPMyAdmin, and the ability to manage Name Servers (This is on my to-do list), and other enhancement, for now, this is okay for my use cases.
I have implemented all the feature I mentioned above, you can now:
- Install and Configure Multiple Classicpress or WordPress Sites
- Restore an Existing Classicpress or Wordpress Website
- Secure Sites Using Free Let's Encrypt Certificate
- You Can Create More Than one SFTP Users (This Way, You Can Access Through SFTP Client, e,g Filezilla, Winscp, etc)
- Manage Your Own Custom DNS (You can also Add New DNS Zone, Edit Zone, and Even Delete DNS Zone)
- Install PHPMyAdmin (You can also secure it with Let's Encrypt)
- More Features in The Works
►Key Requirements
- Operating system: Ubuntu LTS
- Memory: At least 512MB GB RAM
- The installation must be performed on a clean system, free of installed/configured software, especially anything related to web servers.
- The installation must be done as a root user, it won't even allow you to pass through even if you want to.
- If you want to use the Let's Encrypt Feature, make sure you have an A record for the website
How To Install The Program
The installation is easy:
Connect to your server as root via SSH
ssh root@yourserver
Download The Program, and Change Your Diretory To The Program Directory
git clone https://github.com/devsrealm/commandline_controlpanel.git && cd commandline_controlpanel
Give It an Executable Permission
chmod +x cp
Run The Program, and Configure Away
./cp yourwebsite.com
Note: Make Sure You Always Add a Top Level Domain, i.e .com, .net, etc
Whenever you want to install a new website, make sure you have switched to the commandline_controlpanel directory, and add a run the program again, e.g
cd commandline_controlpanel
and
./cp anotherwebsite.com
Video WalkThrough
https://youtu.be/6BD-q2ci_dY