This time, I would like to share a small list of packages that I’ve put together in order to transform my basic home server running Ubuntu 18.04.1 LTS (Bionic Beaver) into a state of the art home server perfect to use for data science and more!
if you would like to replicate this setup, I have written a series of articles describing the steps needed to build this system. I have automated most of the process and they require very little input.
This is just the list of packages that are installed following that process.
Difficulty: Super Easy.
Time consuming: About 3 to 4 hours.
Cost: Free (Open Source Licensing).
Goal: To transform your basic home server into a state of the art technological tool, able to process complex processes.
Requirements
Packages list
-for Updates and installs
apt-fast
Use apt-fast
instead of apt-get
for a speedy update. “apt-fast” is a shell script wrapper for “apt-get” that improves updated and package download speed by downloading packages from multiple connections simultaneously.
Manual Install:
sudo add-apt-repository ppa:apt-fast/stable
sudo apt-get update
sudo apt-get -y install apt-fast
From now on, I will use apt-fast
to update and install new packages.
-for Desktop environment
Lubuntu
Lubuntu is a fast and lightweight operating system with a clean and easy-to-use user interface. It is a Linux system, that uses the minimal desktop LXDE, and a selection of light applications. Because of this, Lubuntu has very low hardware requirements.
Website: https://lubuntu.me/
Manual Install:
sudo apt-fast -y install lubuntu-desktop
The full list of packages installed with the Lubuntu Desktop Environment is found here.
-for Web browsing
Firefox
Safe and easy web browser from Mozilla.
Website: https://www.mozilla.org/en-US/firefox
Manual Install:
sudo apt-fast -y install firefox
Chromium
Chromium is the open-source project behind Google Chrome.
Website: https://www.chromium.org/
Manual Install:
sudo apt-fast -y install chromium-browser
Flash Player
Adobe® Flash® Player is a lightweight browser plug-in and rich Internet application runtime that delivers consistent and engaging user experiences, stunning audio/video playback, and exciting gameplay.
Website: https://get.adobe.com/flashplayer/
Manual Install:
sudo apt-fast -y install flashplugin-installer
-for File sharing
Samba
A Samba file server enables file sharing across different operating systems over a network. It lets you access your desktop files from a laptop and share files with Windows and macOS users.
Documentation: https://www.samba.org/samba/docs/
Website: https://www.samba.org
Manual Install:
sudo apt-fast -y install tasksel
sudo tasksel install samba-server
# Make a fresh clean configuration file
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo bash -c 'grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf'
# Command to create a new Samba user:
sudo smbpasswd -a $USER
# Add to Samba configuration file: /etc/samba/smb.conf
sudo tee -a /etc/samba/smb.conf <<< "[homes]"
sudo tee -a /etc/samba/smb.conf <<< " comment = Home Directories"
sudo tee -a /etc/samba/smb.conf <<< " browseable = yes"
sudo tee -a /etc/samba/smb.conf <<< " read only = no"
sudo tee -a /etc/samba/smb.conf <<< " create mask = 0700"
sudo tee -a /etc/samba/smb.conf <<< " directory mask = 0700"
sudo tee -a /etc/samba/smb.conf <<< " valid users = %S"
# For Samba GUI to work
sudo touch /etc/libuser.conf
# Restart Samba Server
sudo systemctl restart smbd
sudo systemctl status smbd
Dropbox
Dropbox brings your files together, in one central place. They’re easy to find and safely synced across all your devices—so you can access them anytime, anywhere. No more wasting the day tracking down work.
Website: https://www.dropbox.com
Manual Install:
sudo apt install -y nautilus-dropbox
FileZilla
FileZilla is a cross-platform FTP application, consisting of FileZilla Client and FileZilla Server. Client binaries are available for Windows, Linux, and macOS.
Documentation: https://wiki.filezilla-project.org/Documentation
Website: https://filezilla-project.org/
Manual Install:
sudo apt-fast -y install filezilla
-for Office work
Libre Office
LibreOffice is a powerful office suite. Its clean interface and feature-rich tools help you unleash your creativity and enhance your productivity. LibreOffice includes several applications compatible with Microsoft Office that make it the most powerful Free and Open Source office suite on the market.
Website: https://www.libreoffice.org/
Manual Install:
sudo apt-fast -y install libreoffice
LaTeX
LaTeX is a high-quality typesetting system; it includes features designed for the production of technical and scientific documentation. LaTeX is the de facto standard for the communication and publication of scientific documents.
Documentation: https://www.latex-project.org/help/documentation/
Website: https://www.latex-project.org/
Manual Install:
sudo apt-fast -y install texlive-full
sudo apt-fast -y install texmaker
-for Text editing
Emacs
Emacs is the perfect package for large files editing. It belongs to a family of text editors that are characterized by their extensibility.
Documentation: http://www.gnu.org/software/emacs/documentation.html
Website: http://www.gnu.org/software/emacs/
Manual Install:
sudo apt-fast -y install emacs
Geany
Geany is a lightweight GUI text editor. It was developed to provide a small and fast IDE, which has only a few dependencies from other packages. It supports many filetypes and has some nice features.
Documentation: https://www.geany.org/Documentation/Manual
Website: https://www.geany.org/
Manual Install:
sudo apt-fast -y install geany
Atom
Atom is a free and open-source text and source code editor for macOS, Linux, and Microsoft Windows with support for plug-ins written in Node.js, and embedded Git Control.
Documentation: https://flight-manual.atom.io
Website: https://atom.io/
Manual Install:
sudo add-apt-repository ppa:webupd8team/atom
sudo apt-fast update
sudo apt-fast -y install atom
-for Image creation & editing
Gimp
GNU Image Manipulation Program (GIMP) is a graphics editor used for image retouching and editing. GIMP is a cross-platform image editor available for GNU/Linux, OS X, Windows, and more operating systems. It is free software. Whether you are a graphic designer, photographer, illustrator, or scientist, GIMP provides you with sophisticated tools to get your job done. You can further enhance your productivity with GIMP thanks to many customization options and 3rd party plugins.
Documentation: https://www.gimp.org/docs/
Website: https://www.gimp.org/
Manual Install:
sudo apt-fast -y install gimp
-for Video creation & editing
OBS Studio
OBS Studio is an Open Broadcaster Software free and open-source able to stream and record the desktop environment.
Resources: https://obsproject.com/forum/resources/
Website: https://obsproject.com/
Manual Install:
sudo apt-fast -y install ffmpeg
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt-fast update
sudo apt-fast -y install obs-studio
VLC Media player
VLC is a free and open-source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols.
Website: www.videolan.org/vlc/
Manual Install:
sudo apt-fast -y install vlc
Blender
Blender is the free and open-source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation.
Documentation: https://www.blender.org/support/
Website: https://www.blender.org
Manual Install:
sudo apt-fast -y install blender
-for Audio creation & editing
Audacity
Audacity is an easy-to-use, multi-track audio editor and recorder for Windows, Mac OS X, GNU/Linux, and other operating systems.
Documentation: https://www.audacityteam.org/help/documentation/
Website: https://www.audacityteam.org
Manual Install:
sudo apt-fast -y install audacity
Ardour
Ardour is a hard disk recorder and digital audio workstation application. It runs on Linux, macOS, FreeBSD and Microsoft Windows.
Documentation: http://manual.ardour.org/toc/
Website: http://ardour.org
Manual Install:
sudo apt-fast -y install ardour
Spotify
Music streaming service for everyone. Millions of songs. No credit card needed.
Website: https://www.spotify.com
Manual Install:
sudo apt-fast -y install snapd
sudo snap install spotify
-for Database management
MariaDB
One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source. MariaDB is a community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL.
Documentation: https://mariadb.org/learn/
Website: https://mariadb.org
Manual Install:
sudo apt-fast -y install mariadb-server mariadb-client
sudo mysql_secure_installation
You will be asked these questions:
Enter current password for root (enter for none): <-- press Enter
Set root password? [Y/n] <-- Y
New password: <-- Enter the new MariaDB root password here
Re-enter new password: <-- Repeat the password here
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
Then, execute these commands:
sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
On your notebook, you should create a new section as follows:
Title: MariaDB
User: root
Password: Your super secret password that you typed just a few seconds ago.
PostgreSQL
PostgreSQL is a powerful, open-source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance.
Documentation: https://www.postgresql.org/docs/
Website: https://www.postgresql.org
Manual Install:
sudo apt-fast -y install postgresql-10
In order to setup a password for PostgreSQL, you can type as follows:
sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'psqlpassword';"
On your notebook, you should create a new section as follows:
Title: PostgreSQL
User: postgres
Password: psqlpassword
SQLite3
SQLite is a relational database management system contained in a C programming library. In contrast to many other database management systems. SQLite is the most used database engine in the world.
Documentation: https://www.sqlite.org/docs.html
Website: https://www.sqlite.org
Manual Install:
sudo apt-fast -y install sqlite3
MongoDB
MongoDB is a free and open-source cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas.
Documentation: https://docs.mongodb.com
Website: https://www.mongodb.com
Manual Install:
sudo apt-fast -y install mongodb
sudo systemctl status mongodb
Execute this command to verify connection status: A returned value of 1 for the ok
field in the response indicates that the server is working properly.
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Please note that Mongo will not add any user nor a password. It will be up to you to set up from here onward.
Neo4J
Neo4j is a graph database management system developed by Neo4j, Inc. Described by its developers as an ACID-compliant transactional database with native graph storage and processing, Neo4j is the most popular graph database according to DB-Engines ranking.
Learn: https://neo4j.com/graphacademy/
Website: https://neo4j.com
Manual Install:
sudo wget -O - https://debian.neo4j.org/neotechnology.gpg.key | sudo apt-key add -
sudo echo 'deb https://debian.neo4j.org/repo stable/' | sudo tee -a /etc/apt/sources.list.d/neo4j.list
sudo apt-fast update
sudo apt-fast -y install neo4j
sudo systemctl start neo4j
With the default configuration, Neo4j only accepts local connections. To accept non-local connections, follow the instructions below to edit this file:
/etc/neo4j/neo4j.conf
sudo nano /etc/neo4j/neo4j.conf
Eliminate the ”#” symbol in front of the following line and exit by saving your changes.
# dbms.connectors.default_listen_address=0.0.0.0
For changes to take effect, run the following command:
sudo systemctl restart neo4j
To keep a record of user names and passwords, on your notebook, you should create a new section as follows:
Title: Neo4j
Open browser to: http://localhost:7474/browser/
User: neo4j
Password: neo4j
-for Database interface
phpMyAdmin
phpMyAdmin is a free and open-source administration tool for MySQL and MariaDB. As a portable web application written primarily in PHP, it has become one of the most popular MySQL administration tools, especially for web hosting services.
Website: https://www.phpmyadmin.net
Manual Install:
sudo apt-fast -y install phpmyadmin
You will see the following questions:
Web server to configure automatically: <-- Select the option: apache2
Configure database for phpmyadmin with dbconfig-common? <-- Yes
MySQL application password for phpmyadmin: <-- Press enter, apt will create a random password automatically.
To set the root
access to PHPMyAdmin
, run in the terminal as follows:
sudo mysql -u root -D mysql -e "CREATE USER 'admin_myphpadmin'@'localhost' IDENTIFIED BY 'myphpadminpassword'; GRANT ALL PRIVILEGES ON *.* TO 'admin_myphpadmin'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;"
Alternative, you could use the following script by typing from the terminal as follows:
$ sudo mysql -u root
> CREATE USER 'admin_myphpadmin'@'localhost' IDENTIFIED BY 'myphpadminpassword';
> GRANT ALL PRIVILEGES ON *.* TO 'admin_myphpadmin'@'localhost' WITH GRANT OPTION;
> FLUSH PRIVILEGES;
> exit
To keep a record of user names and passwords, on your notebook, you should create a new section as follows:
Title: phpMyAdmin
Open browser to: http://localhost/phpmyadmin
user: admin_myphpadmin
password: myphpadminpassword
MySQL Workbench
MySQL Workbench is a unified visual tool for database architects, developers, and DBAs. MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, backup, and much more. MySQL Workbench is available on Windows, Linux and Mac OS X.
Website: https://www.mysql.com/products/workbench/
Manual Install:
sudo apt-fast -y install mysql-workbench
To connect, you can use the same user name and password as phpMyAdmin since it is connecting to the same database if you are connecting to localhost
.
Title: Workbench
user: admin_myphpadmin
password: myphpadminpassword
pgAdmin
pgAdmin is the most popular and feature-rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world.
Documentation: https://www.pgadmin.org/docs
Website: https://www.pgadmin.org
Manual Install:
sudo apt-fast -y install pgadmin3
To keep a record of user names and passwords, on your notebook, you should create a new section as follows:
Title: PostgreSQL
User: postgres
Password: psqlpassword
DB Browser for SQLite
DB Browser for SQLite is a high quality, visual, open-source tool to create, design, and edit database files compatible with SQLite.
Website: https://sqlitebrowser.org
Manual Install:
sudo apt-fast -y install sqlitebrowser
-for Data Science
Octave
GNU Octave is free software that runs on GNU/Linux, macOS, BSD, and Windows. Compatible with many Matlab scripts featuring a high-level programming language, primarily intended for numerical computations. It has powerful mathematics-oriented syntax with built-in plotting and visualization tools.
Documentation: https://octave.org/doc/interpreter
Website: https://www.gnu.org/software/octave
Manual Install:
sudo apt-fast -y install octave
SageMath
SageMath is a computer algebra system with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, numerical analysis, number theory, calculus, and statistics.
Documentation: http://www.sagemath.org/library.html
Website: http://www.sagemath.org
Manual Install:
sudo apt-fast -y install sagemath
Maxima
Maxima is a computer algebra system (CAS) based on a 1982 version of Macsyma. It is written in Common Lisp and runs on all POSIX platforms such as macOS, Unix, BSD, and Linux, as well as under Microsoft Windows and Android.
Documentation: http://maxima.sourceforge.net/documentation.html
Website: http://maxima.sourceforge.net
Manual Install:
sudo apt-fast -y install wxmaxima
Python3
Python is a programming language that lets you work quickly and integrate systems more effectively.
Documentation: https://docs.python.org/3/
Website: https://www.python.org
Manual Install:
sudo apt-fast -y install python3 python3-pip
RStudio Desktop
RStudio is a free and open-source integrated development environment for R, a programming language for statistical computing and graphics.
The current version at the time of this writing is: 1.1.453 Released: 2018-05-16
Documentation: http://docs.rstudio.com
Website: https://www.rstudio.com/products/rstudio
Manual Install:
sudo apt-fast -y install r-base
sudo apt-fast -y install libssl-dev libcurl4-openssl-dev libxml2-dev
wget https://download1.rstudio.org/rstudio-xenial-1.1.453-amd64.deb
sudo dpkg -i rstudio-xenial-1.1.453-amd64.deb
rm -f rstudio-xenial-1.1.453-amd64.deb
sudo apt-fast -y -f install
sudo su - -c "R -e \"install.packages('rmarkdown', repos='https://cran.rstudio.com/')\""
RStudio Server
RStudio is a free and open-source integrated development environment for R, a programming language for statistical computing and graphics.
The current version at the time of this writing is: 1.1.456 Released: 2018-07-19
Documentation: http://docs.rstudio.com/ide/server-pro
Website: https://www.rstudio.com/products/rstudio
Manual Install:
wget https://download2.rstudio.org/rstudio-server-1.1.456-amd64.deb
sudo dpkg -i rstudio-server-1.1.456-amd64.deb
rm -f rstudio-server-1.1.456-amd64.deb
sudo apt-fast -y -f install
To keep a record of user names and passwords, on your notebook, you should create a new section as follows:
Title: RStudio Server
Open browser to: http://localhost:8787.
User name: administrator
Password: <your_password>
in my case is mysupersecretpassword
Shiny Server
Open Source Shiny Server provides a platform on which you can host multiple Shiny applications on a single server, each with their own URL or port.
Documentation: http://docs.rstudio.com/shiny-server/
Website: https://www.rstudio.com/products/shiny/download-server/
sudo su - -c "R -e \"install.packages('shiny', repos='https://cran.rstudio.com/')\""
wget https://download3.rstudio.org/ubuntu-14.04/x86_64/shiny-server-1.5.7.907-amd64.deb
sudo dpkg -i shiny-server-1.5.7.907-amd64.deb
rm -f shiny-server-1.5.7.907-amd64.deb
sudo apt-fast -y -f install
To keep a record of user names and passwords, on your notebook, you should create a new section as follows:
Title: Shiny Server
Open browser to: http://localhost:3838.
R essentials
To install R essential packages, we could do it as follows from the terminal.
sudo su - -c "R -e \"install.packages('repr', repos='https://cran.rstudio.com/')\""
sudo su - -c "R -e \"install.packages('IRdisplay', repos='https://cran.rstudio.com/')\""
sudo su - -c "R -e \"install.packages('evaluate', repos='https://cran.rstudio.com/')\""
sudo su - -c "R -e \"install.packages('crayon', repos='https://cran.rstudio.com/')\""
sudo su - -c "R -e \"install.packages('pbdZMQ', repos='https://cran.rstudio.com/')\""
sudo su - -c "R -e \"install.packages('uuid', repos='https://cran.rstudio.com/')\""
sudo su - -c "R -e \"install.packages('digest', repos='https://cran.rstudio.com/')\""
sudo su - -c "R -e \"install.packages('devtools', repos='https://cran.rstudio.com/')\""
sudo su - -c "R -e \"install.packages('tidyverse', repos='https://cran.rstudio.com/')\""
sudo su - -c "R -e \"install.packages('caret', repos='https://cran.rstudio.com/')\""
sudo su - -c "R -e \"install.packages('nnet', repos='https://cran.rstudio.com/')\""
An alternative one command line that install multiple packages, will be as follows:
$ sudo su - -c "R -e \"install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon') , repos='https://cran.rstudio.com/')\""
$ sudo su - -c "R -e \"install.packages(c('pbdZMQ', 'uuid', 'digest', 'devtools') , repos='https://cran.rstudio.com/')\""
$ sudo su - -c "R -e \"install.packages(c('tidyverse', 'caret', 'nnet') , repos='https://cran.rstudio.com/')\""
To know the path to your R libraries:
sudo su - -c "R -e \".libPaths()\""
-for Education
Geogebra
GeoGebra is an interactive geometry, algebra, statistics and calculus application, intended for learning and teaching mathematics and science from primary school to university level.
Resources: https://www.geogebra.org/materials
Website: https://www.geogebra.org
Manual Install:
sudo apt-fast -y install geogebra-gnome
-for Programming
Ruby
Ruby is a dynamic, open-source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
Documentation: https://www.ruby-lang.org/en/documentation
Website: https://www.ruby-lang.org/en/
Manual Install:
sudo apt-fast -y install ruby ruby-dev
In order to enable Ruby Gems from the bash, just do as follows:
echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
echo 'export GEM_HOME=$HOME/gems' >> ~/.bashrc
echo 'export PATH=$HOME/gems/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
sudo gem update --system
-for Development
Jupyter Notebooks
Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations, and narrative text. Uses include data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.
Documentation: http://jupyter.org/documentation
Website: http://jupyter.org
Manual Install:
pip3 install jupyter
In order to install IRKernel for Jupyter, we can add different kernels from the drop down menu as follows:
sudo su - -c "R -e \"devtools::install_github('IRkernel/IRkernel')\""
sudo su - -c "R -e \"IRkernel::installspec()\""
If you want to run locally, just type in the terminal as follows:
jupyter notebook
If you want to connect to your server using SSH Tunneling from a different computer running Linux or Mac, simply run the following SSH command from the terminal:
ssh -L 8888:localhost:8888 <server_username>@<server_ip_address>
Where <server_username>
is your user name; in my case is administrator
and <server_ip_address>
is your server’s IP address, which is my home network is: 192.168.1.228
as seen in the installation process.
Open browser to: http://localhost:8888.
To stop, just press Ctrl + c
in the terminal.
Spyder
Spyder is an open-source cross-platform integrated development environment for scientific programming in the Python language. Spyder integrates NumPy, SciPy, Matplotlib, and IPython, as well as other open-source software.
Documentation: https://pythonhosted.org/spyder/
Manual Install:
sudo apt-fast -y install spyder3
Hydrogen
Hydrogen is an interactive coding environment that supports Python, R, JavaScript, and other Jupyter kernels to be used from within Atom.
apm stands for “atom package manager”.
To install Hydrogen, Atom must be installed first.
Documentation: https://nteract.gitbooks.io/hydrogen/docs/Usage/GettingStarted.html
Website: https://nteract.gitbooks.io/hydrogen/
Manual Install:
apm install hydrogen
-for Content management
Jekyll
Jekyll transforms your plain text into static websites and blogs. Jekyll is a simple, blog-aware, static site generator for personal, project, or organization sites. Written in Ruby by Tom Preston-Werner, GitHub’s co-founder, it is distributed under an open-source license.
In fact, this site was built using Jekyll.
Documentation: https://jekyllrb.com/docs/home/
Website: https://jekyllrb.com
Manual Install:
gem install jekyll bundler
jekyll --version
gem list jekyll
gem update jekyll
Joomla
Joomla! is a free and open-source content management system for publishing web content, developed by Open Source Matters, Inc. It is built on a model–view–controller web application framework that can be used independently of the CMS.
Documentation: https://docs.joomla.org
Website: https://www.joomla.org
Manual Install:
First, we need to create a Joomla database named joomladb
.
sudo mysql -u root -D mysql -e "CREATE DATABASE joomladb; CREATE USER 'admin_joomla'@'localhost' IDENTIFIED BY 'myjoomlapassword'; GRANT ALL ON joomladb.* TO 'admin_joomla'@'localhost' IDENTIFIED BY 'myjoomlapassword' WITH GRANT OPTION; FLUSH PRIVILEGES;"
Now, we need to execute the following commands in order to install.
wget https://github.com/joomla/joomla-cms/releases/download/3.8.10/Joomla_3.8.10-Stable-Full_Package.tar.bz2
sudo mkdir -p /var/www/html/joomla
sudo tar xvjf Joomla_3.8.10-Stable-Full_Package.tar.bz2 -C /var/www/html/joomla
sudo chown -R www-data:www-data /var/www/html/joomla/
sudo chmod -R 755 /var/www/html/joomla/
sudo systemctl restart apache2.service
rm -f Joomla_3.8.10-Stable-Full_Package.tar.bz2
To keep a record of user names and passwords, on your notebook, you should create a new section as follows:
Title: Joomla
Open browser to: http://localhost/joomla.
Database: joomladb
User: admin_joomla
Password: myjoomlapassword
WordPress
WordPress is open source software you can use to create a beautiful website, blog, or app. WordPress is both free and priceless at the same time.
Website: https://wordpress.org
Manual Install:
First, we need to create a WordPress database named wordpressdb
.
sudo mysql -u root -D mysql -e "CREATE DATABASE wordpressdb; CREATE USER 'admin_wp'@'localhost' IDENTIFIED BY 'mywppassword'; GRANT ALL ON wordpressdb.* TO 'admin_wp'@'localhost' IDENTIFIED BY 'mywppassword' WITH GRANT OPTION; FLUSH PRIVILEGES;"
Now, we need to execute the following commands in order to install.
wget wget https://wordpress.org/latest.tar.gz
sudo tar -zxvf latest.tar.gz -C /var/www/html
sudo chown -R www-data:www-data /var/www/html/wordpress/
sudo chmod -R 755 /var/www/html/wordpress/
sudo systemctl restart apache2.service
rm -f latest.tar.gz
To keep a record of user names and passwords, on your notebook, you should create a new section as follows:
Title: WordPress
Open browser to: http://localhost/wordpress.
Database: wordpressdb
User: admin_wp
Password: mywppassword
-for Collaboration
Git
Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people.
Documentation: https://git-scm.com/docs
Website: https://git-scm.com
Manual Install:
sudo apt-fast -y install git
Zoom
Zoom is the leader in modern enterprise video communications, with an easy, reliable cloud platform for video and audio conferencing, collaboration, chat, and webinars across mobile devices, desktops, telephones, and room systems.
Website: https://www.zoom.us
Manual Install:
wget https://www.zoom.us/client/latest/zoom_amd64.deb
sudo dpkg -i zoom_amd64.deb
sudo apt-fast -y -f install
Slack
Slack is a place where your team comes together to collaborate, important information can be found by the right people, and your tools pipe in information when and where you need it.
Website: https://slack.com
Manual Install:
sudo snap install slack --classic
Docker
Docker is a computer program that performs operating-system-level virtualization also known as containerization. The following Linux commands will start Docker and ensure that starts after the reboot.
Documentation: https://docs.docker.com
Learning: https://training.docker.com
Website: https://www.docker.com
Manual Install:
sudo apt-fast -y install docker.io
sudo systemctl start docker
sudo systemctl enable docker
docker --version
-for System administration
Webmin
Webmin is a web-based interface for system administration for Unix. Using any modern web browser, you can setup user accounts, Apache, DNS, file sharing and much more. Webmin removes the need to manually edit Unix configuration files like /etc/passwd, and lets you manage a system from the console or remotely.
Documentation: http://www.webmin.com/docs.html
Website: http://www.webmin.com
Manual Install:
wget -qO- http://www.webmin.com/jcameron-key.asc | sudo apt-key add
sudo add-apt-repository "deb http://download.webmin.com/download/repository sarge contrib"
sudo apt update
sudo apt-fast -y install webmin
To keep a record of user names and passwords, on your notebook, you should create a new section as follows:
Title: Webmin
Open browser to: https://localhost:10000/
User: <your_user_name>
in my case is administrator
.
Password: <your_password>
in my case is mysupersecretpassword
.
-for Protection
Clamav Antivirus
ClamAV® is an open-source antivirus engine for detecting trojans, viruses, malware & other malicious threats.
Documentation: https://www.clamav.net/documents
Website: https://www.clamav.net
Manual Install:
sudo apt-fast -y install clamav clamav-daemon clamav-freshclam clamtk
sudo service clamav-daemon start
ufw Firewall
Uncomplicated Firewall is a program for managing a Netfilter firewall designed to be easy to use. It uses a command-line interface consisting of a small number of simple commands and uses iptables for configuration.
Documentation: http://manpages.ubuntu.com/manpages/bionic/en/man8/ufw.8.html
Manual Install:
sudo apt-fast -y install ufw
sudo ufw enable
To open ports, you must follow the documentation above, some examples are as follows:
sudo ufw allow ssh # Secure Shell remote access
sudo ufw allow samba # Network file share
sudo ufw allow 80/tcp # Webserver
sudo ufw allow 443/tcp # Https Webserver
sudo ufw allow 4000/tcp # Jekyll
sudo ufw allow 3306/tcp # MariaDB
sudo ufw allow 5432/tcp # PostgreSQL
sudo ufw allow 8787/tcp # R Studio Server
sudo ufw allow 3838/tcp # Shiny
sudo ufw allow 7474/tcp # Neo4j
sudo ufw allow 8888/tcp # Jupyter Notebooks
sudo ufw allow from any to any port 10000 proto tcp # Webmin
Final thoughts
I hope you enjoy your new system as much as I enjoy mine. I will try to come back and update as much as possible. Please note that there’s so much information to share, if I miss anything, please let me know.
I thank you for keeping this long. I will appreciate any feedback you might have.