XMission Control Panel/Server Tab/LAMP

From XMission Wiki
Revision as of 15:55, 13 April 2016 by Boom (talk | contribs) (Step 3: MySQL)
Jump to: navigation, search

What is a LAMP or LAMPstack?

LAMP stands for Linux, Apache, MySQL, and PHP which are commonly used for the majority of web hosting and development servers. Each of the four have their own uses for your server, as Linux will be the operating system, Apache will act as the web server, MySQL handles databases, and PHP takes care of your scripts.


Where to start

Step 1: Linux

Our servers run on Ubuntu or CentOS depending on your needs and preferences. This will take care of the Linux portion of your LAMP stack.

Step 2: Apache2

The next step will be to install Apache. You will want to have an open shell session in a terminal for your server to preform this task.

Depending on your Linux Distribution you will want to follow either of the following

Ubuntu: sudo apt-get update sudo apt-get install apache2

CentOS: sudo yum update sudo yum install apache2

After that, you can simply navigate to your server IP in a web browser to see a prompt telling you apache2 was successfully installed!

Step 3: MySQL

MySQL is an industry standard database system that is used for organizing and utilizing data through tables.

To install MySQL, in the same terminal: sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

or

sudo yum install mysql-server libapache2-mod-auth-mysql php5-mysql

During the installation your terminal will prompt you for a root password. Be sure to use a strong password that you do not share with any other services, as this is a common vulnerability in modern web hosting.

Once it has completed, enter this command to “activate” the recently installed MySQL

sudo mysql_install_db

Followed by

sudo /usr/bin/mysql_secure_installation

After that it will ask you a series of questions that you will want to read over and decide on

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL 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, MySQL 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...