Full installation of Linux LAMP server, Apache, MySql, PHP Debian 9
This tutorial describes how to comprehensively install a LAMP server or Apache basic services, MySql, Php and phpmyadmin.
Prok-by-step we will install all the packages.
We begin by setting the correct server hostname:
1 | nano /etc/hosts |
And edit
1 2 3 4 5 6 7 | 127.0.0.1 localhost.localdomain localhost 94.130.246.172 node.serwerweb.pl node # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters |
We are interested in the bold line.
IP address does not move we make only changes the hostname which will see our server.
We edit the file:
1 | nano /etc/hostname |
I change the
1 | node.serwerweb.pl |
In order to change the whole system restart server command:
1 2 | reboot |
validate the set hostname:
1 2 | hostname hostname -f |
Both commands should return us to the same value:
node.serwerweb.pl
1 2 3 4 | root@node:/tmp# hostname node.serwerweb.pl root@node:/tmp# hostname -f node.serwerweb.pl |
Next, we perform the system update:
1 2 | apt-get update apt-get upgrade |
Install MariaDB database engine
MariaDB:
1 | apt-get -y install mariadb-server mariadb-client |
Re-configure the MySQL server as follows by typing:
mysql_secure_installation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): <-- Hit return OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] -- y New password: <-- Enter the new password for the MariaDB root user Re-enter new password: <-- Enter the password again Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] -- y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] -- y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] -- y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] -- y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! |
Install Apache:
1 | apt-get -y install apache2 |
PHP Installation:
1 | apt-get -y install php7.0 libapache2-mod-php7.0 |
Restart Apache to save the changes:
1 | service apache2 restart |
We install the necessary php extensions:
1 | apt-cache search php7.0 |
1 | apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl |
Again, we restart apache server to save the changes:
1 | service apache2 restart |
Installation of the cache for the Web server:
1 2 | apt-get -y install php7.0-opcache apt-get -y install php-apcu |
save changes:
1 | service apache2 restart |
The last step is to install fraficzny phpMyAdmin database management interface written in php.
1 | apt-get -y install phpmyadmin |
And we respond to the questions in the installer:
1 2 3 4 5 | Web server to reconfigure automatically: <-- apache2 Configure database for phpmyadmin with dbconfig-common?<-- Yes Password of the database's administrative user: <-- Podajemy wcześciej ustalone hasło przy instalacji mysql/mariadb MySQL application password for phpmyadmin: <-- Ponownie podajemy hasło ustalone wcześniej |
PhpMyAdmin is available at:
1 | http://ADRESIPSERWERA/phpmyadmin/ |
The last step is to run the root user the ability to log into phpmyadmin:
issue the command:
1 | echo "UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';FLUSH PRIVILEGES;" | mysql -u root -p |
We enter the root password and that's it 🙂
That's all we have a fully functional mysql web server
How to update the apache debian 9? Server version: Apache/2.4.25 (Debian) and this is kind of the latest, and only version 2.4.26 service is http2
Hello,
The easiest way is by changing the repo version testing:
Hashing repositories debian 9 and the above testing wlpejasz.
You update to newer packages.
So fire up the module: