LAMP (software bundle): Difference between revisions
No edit summary |
|||
Line 65: | Line 65: | ||
==Firewall== | ==Firewall== | ||
If you're using a VPS or computer connected directly to the internet, you will want to install a firewall. | If you're using a VPS or computer connected directly to the internet, you will want to install a firewall. | ||
See [[UbuntuWiki: UncomplicatedFirewall]] | See [[UbuntuWiki: UncomplicatedFirewall]] | ||
See [https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands Digital ocean ufw essentials] | |||
<syntaxhighlight lang="bash"> | |||
sudo ufw allow ssh/tcp | |||
sudo ufw logging on | |||
sudo ufw enable | |||
sudo ufw status | |||
</syntaxhighlight> | |||
You should get an output like: | |||
<pre> | |||
Status: active | |||
To Action From | |||
-- ------ ---- | |||
22/tcp ALLOW Anywhere | |||
22/tcp (v6) ALLOW Anywhere (v6) | |||
</pre> | |||
To enable certain ports: | |||
<pre> | |||
</pre> |
Revision as of 15:11, 24 May 2020
How to setup a lamp stack using Ubuntu.
Linux, Apache, MariaDB, PHP
Setup
Install Ubuntu
Just download and install
Install Apache
See [1]
sudo apt update
sudo apt install apache2
Installing PHP
Reference
Installing PHP 7.3 on Ubuntu 16.04
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.3
# Install apache module for php
sudo apt install libapache2-mod-php7.3
sudo a2enmod php7.3
# Install some common extensions
sudo apt install php7.3-common php7.3-mysql php7.3-xml php7.3-xmlrpc php7.3-curl php7.3-gd php7.3-imagick php7.3-cli php7.3-dev php7.3-imap php7.3-mbstring php7.3-opcache php7.3-soap php7.3-zip php7.3-intl -y
# Restart apache2
sudo service apache2 restart
- Important Notes
- Always use a version when installing things if you don't want things to break when you do updates
- I.e.
php7.3-common
instead ofphp-common
- I.e.
Installing MariaDB
See https://downloads.mariadb.org/mariadb/repositories/
sudo apt-get install software-properties-common
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.4/ubuntu bionic main'
sudo apt update
sudo apt install mariadb-server
Securing for Production
MariaDB and MySQL provide a bash command mysql_secure_installation
.
This command does the following:
- Sets a root password
- Remove anonymous users
- Disallow root login remotely
- Removes test databases
sudo mysql_secure_installation
Misc
- Install nodejs via nvm
Firewall
If you're using a VPS or computer connected directly to the internet, you will want to install a firewall.
See UbuntuWiki: UncomplicatedFirewall
See Digital ocean ufw essentials
sudo ufw allow ssh/tcp
sudo ufw logging on
sudo ufw enable
sudo ufw status
You should get an output like:
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6)
To enable certain ports: