Difference between revisions of "WebServer - Basic LAMP Stack Install"
Jump to navigation
Jump to search
(33 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | *Proven on Mint 19.3 ... (Seems to get MySQL 5.7) | ||
+ | *Proven on Mint 20 ... (Gets MySQL 8.0) | ||
+ | *Proven on SparkyLinux 5.11 ... (Debian based) | ||
+ | *Proven on LMDE 4 ... (Debian based) | ||
+ | *Proven on Debian minimal ... (Debian based) | ||
+ | |||
===Install the LAMP Stack=== | ===Install the LAMP Stack=== | ||
+ | * [[WebServer - Mint 19.3|If you are running Mint 19.3]] | ||
+ | * [[WebServer - Debian based Linux|If you are running a Debian based Linux]] | ||
+ | ** (Debian itself, LMDE, SparkyLinux, others...) | ||
− | *<code>sudo apt install apache2 | + | ====Install the packages==== |
+ | |||
+ | *<code>sudo apt install apache2 libapache2-mod-php php-xml php-mbstring php-apcu php-intl imagemagick inkscape php-gd php-cli php-cgi php mysql-server mysql-client php-mysql</code> | ||
+ | **Say Yes to Continue | ||
+ | **<u>Configuring mysql-community-server</u> (Doesn't happen on Mint but DOES happen on LMDE) | ||
+ | ***Pick a good '''root''' password... | ||
+ | ***I tend to select '''Use Legacy Authentication Method''' because '''Use Strong Password Encryption''' is annoying as hell. (Your choice here...) | ||
====Configure MySQL==== | ====Configure MySQL==== | ||
*<code>sudo mysql_secure_installation</code> | *<code>sudo mysql_secure_installation</code> | ||
+ | **<u>Would you like to setup VALIDATE PASSWORD component?</u> | ||
+ | ***I select No (because I'd rather manage my own password policies, thanks...) | ||
+ | **'''''root password''''' | ||
+ | ***<u>Please set the password for root here.</u> | ||
+ | ****Pick a good '''root''' password... | ||
+ | **or... (depends on install...) | ||
+ | ***<u>Using existing password for root.</u> | ||
+ | ****Say No | ||
+ | **<u>Remove anonymous users?</u> | ||
+ | ***Duh... Yes | ||
+ | **<u>Disallow root login remotely?</u> | ||
+ | ***Your choice, but I tend to say No. | ||
+ | **<u>Remove test database and access to it?</u> | ||
+ | ***Duh... Yes again. | ||
+ | **<u>Reload privilege tables now?</u> | ||
+ | ***Yes | ||
*([[WebServer - MySQL Notes|Extra Instructions if you've never configured MySQL before]]) | *([[WebServer - MySQL Notes|Extra Instructions if you've never configured MySQL before]]) | ||
Line 18: | Line 49: | ||
Browse to [http://ServerAddress/ http://ServerAddress/info.php] & you should see a whole bunch of info about your PHP subsystem. | Browse to [http://ServerAddress/ http://ServerAddress/info.php] & you should see a whole bunch of info about your PHP subsystem. | ||
+ | |||
+ | '''Notice that those 2 addresses are HTTP, and NOT HTTPS. This is important and Chrome will mess with you.''' | ||
====Set up at least one user in mysql==== | ====Set up at least one user in mysql==== | ||
Line 24: | Line 57: | ||
CREATE USER 'someone'@'localhost' IDENTIFIED BY 'password'; | CREATE USER 'someone'@'localhost' IDENTIFIED BY 'password'; | ||
+ | FLUSH PRIVILEGES; | ||
EXIT; | EXIT; | ||
('''Hint:''' This'd be a good time to create yourself as that user with your non-admin password of choice...) | ('''Hint:''' This'd be a good time to create yourself as that user with your non-admin password of choice...) |
Latest revision as of 15:16, 1 January 2022
- Proven on Mint 19.3 ... (Seems to get MySQL 5.7)
- Proven on Mint 20 ... (Gets MySQL 8.0)
- Proven on SparkyLinux 5.11 ... (Debian based)
- Proven on LMDE 4 ... (Debian based)
- Proven on Debian minimal ... (Debian based)
Contents
Install the LAMP Stack
- If you are running Mint 19.3
- If you are running a Debian based Linux
- (Debian itself, LMDE, SparkyLinux, others...)
Install the packages
sudo apt install apache2 libapache2-mod-php php-xml php-mbstring php-apcu php-intl imagemagick inkscape php-gd php-cli php-cgi php mysql-server mysql-client php-mysql
- Say Yes to Continue
- Configuring mysql-community-server (Doesn't happen on Mint but DOES happen on LMDE)
- Pick a good root password...
- I tend to select Use Legacy Authentication Method because Use Strong Password Encryption is annoying as hell. (Your choice here...)
Configure MySQL
sudo mysql_secure_installation
- Would you like to setup VALIDATE PASSWORD component?
- I select No (because I'd rather manage my own password policies, thanks...)
- root password
- Please set the password for root here.
- Pick a good root password...
- Please set the password for root here.
- or... (depends on install...)
- Using existing password for root.
- Say No
- Using existing password for root.
- Remove anonymous users?
- Duh... Yes
- Disallow root login remotely?
- Your choice, but I tend to say No.
- Remove test database and access to it?
- Duh... Yes again.
- Reload privilege tables now?
- Yes
- Would you like to setup VALIDATE PASSWORD component?
- (Extra Instructions if you've never configured MySQL before)
& Test it
sudo vi /var/www/html/info.php
<?php phpinfo(); ?>
Browse to http://ServerAddress/ & you should see the default page.
Browse to http://ServerAddress/info.php & you should see a whole bunch of info about your PHP subsystem.
Notice that those 2 addresses are HTTP, and NOT HTTPS. This is important and Chrome will mess with you.
Set up at least one user in mysql
sudo mysql -u root -p
CREATE USER 'someone'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; EXIT;
(Hint: This'd be a good time to create yourself as that user with your non-admin password of choice...)