Magento on LAMP CentOS 7.4 Lite
Jun 28, 2024
/phpMyAdmin
For more configurations, refer to section 8: Access phpMyAdmin on CentOS
2.6 Start-up configuration
2.6.1 Set Global Server Name to Suppress Syntax Warnings
You need to add a single line to the /etc/apache2/apache2.conf file to suppress above warning
message. While harmless, if you do not set Server Name globally, you will receive the following
warning when checking your Apache configuration for syntax errors:
sudo apache2ctl configtest
Output
AH00558: apache2: Could not reliably determine the server''s fully
qualified domain name, using 127.0.1.1. Set the ''Server Name'' directive
globally to suppress this message
Syntax OK
Proprietary & Confidential. Not for Redistribution or Use without 7 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Open up the main configuration file with your text edit:
sudo nano /etc/apache2/apache2.conf
Inside, at the bottom of the file, add a Server Name directive, pointing to your primary domain
name. If you do not have a domain name associated with your server, you can use your server''s
public IP address:
/etc/apache2/apache2.conf
. . .
ServerName server_domain_or_IP
Save and close the file when you are finished.
Next, check for syntax errors by typing:
sudo apache2ctl configtest
Since we added the global Server Name directive, all you should see is:
Output
Syntax OK
Restart Apache to implement your changes:
sudo systemctl restart apache2
2.6.2 Check apache status
Issue following command to check apache status.
sudo systemctl status apache2
2.6.3 Available options for PHP modules and libraries
Use the arrow keys to scroll up and down, and q to quit.
apt-cache search php- | less
To get more information about what each module does, you can either search the internet, or
you can look at the long description of the package by typing:
apt-cache show package_name
2.6.4 Test php on your server
The address you want to visit will be:
http://your_server_IP_address/info.php
Proprietary & Confidential. Not for Redistribution or Use without 8 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Delete info.php page
sudo rm /var/www/html/info.php
Proprietary & Confidential. Not for Redistribution or Use without 9 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
3 CentOS 7.4 64bits LEMP
This image is built with CentOS 7.4 and bundled with following popular software for web service
solution. In order to display web pages to our site visitors, we employ Nginx, a modern, efficient
web server.Optimized to address your security concern.
3.1 Software Components
Operation System
CentOS 7.4 64bits
Nginx
High-performance web server software
nginx/1.12.2
/usr/sbin
MariaDB
5.5.49-MariaDB-38.0
Relational database management system
/usr/bin
PHP
PHP 5.4.16 (cli) (built: Nov 15 2017 16:33:54)
/usr/bin
phpMyAdmin
Web GUI for the administration of MySQL
4.4.15.10-2.el7
Webmin
Web-based interface for system administration
https://hostname:10000
openssh-server
Secure remote console for server management
7.4p1-13.el7_4
openssh-sftp-server
Secure FTP for file uploading
7.4p1-13.el7_4
3.2 Default Website
To access, using following URL
http://
Proprietary & Confidential. Not for Redistribution or Use without 10 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
3.3 Upload web page files
Place your files into a directory called the "document root" of the server. The document root is at
/usr/share/nginx/html by default. Place your files there.
When you are finished (provided that your domain name has been updated around the world),
you should be able to access your site in your web browser.
3.4 Default Account
For list of default account and password, refer to /root/password.pwd
3.5 phpMyAdmin
Use following URL to open phpMyAdmin page
http:///phpMyAdmin
For more configurations, refer to section 8: Access phpMyAdmin on CentOS
3.6 Software Operation Command
Nginx
service nginx {start|stop|status|restart|reload|configtest}
Mysql
service mysqld {start|stop|restart|reload|status}
Apache
service httpd {start|restart|stop}
Proprietary & Confidential. Not for Redistribution or Use without 11 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
4 Setup DNS
Once you have your LAMP/LEMP stack installed, your server is ready to start serving web
content. However, right now, you can only access it using the server''s public IP address.
You can set up a domain name (like example.com) so that visitors can access your site easier.
You''ll need to purchase your desired domain name from a domain name registrar.
Proprietary & Confidential. Not for Redistribution or Use without 12 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
5 Connect to Server Instance
Download following utilities
PuTTY - a free SSH and telnet client for Windows
www.putty.org/
WinSCP - free SFTP and FTP client for Windows
https://winscp.net/
Follow respect use guide from the tool official website and connect with your root account
configured during your ECS installation.
Proprietary & Confidential. Not for Redistribution or Use without 13 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
6 Apache v.s. Nginx
Both Apache and Nginx are powerful, flexible, and capable. Deciding which server is best for
you are largely a function of evaluating your specific requirements and testing with the patterns
that you expect to see.
There are differences between these projects that have a very real impact on the raw
performance, capabilities, and the implementation time necessary to get each solution up and
running. However, these usually are the result of a series of trade-offs that should not be
casually dismissed. In the end, there is no one-size-fits-all web server, so use the solution that
best aligns with your objectives.
Reference:
https://www.digitalocean.com/community/tutorials/apache-vs-nginx-practical-considerations
Proprietary & Confidential. Not for Redistribution or Use without 14 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
7 Change Default Password
To change (or update) mysql root password, you need to use the following command:
$ mysqladmin -u root -p''oldpassword'' password newpass
For example, if the old password is abc, you can set the new password to 123456, enter:
$ mysqladmin -u root -p''abc'' password ''123456''
Note:123456 password is used for demonstration purpose only. You must select a strong
password. It is an important protection to help you have safer MySQL database transactions.
Proprietary & Confidential. Not for Redistribution or Use without 15 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
8 Access phpMyAdmin on CentOS
In order to access phpMyAdmin, we will need to modify apache configuration a bit to get it to
work correctly.
Open the file in your text editor now so that we can make a few changes:
sudo vim /etc/httpd/conf.d/phpMyAdmin.conf
Inside, we see some directory blocks with some conditional logic to explain the access policy for
our directory. There are two distinct directories that are defined, and within these, configurations
that will be valid for both Apache 2.2 and Apache 2.4 (which we are running).
Currently, this setup is configured to deny access to any connection not being made from the
server itself. Since we are working on our server remotely, we need to modify some lines to
specify the IP address of your home connection.
Change any lines that read Require ip 127.0.0.1 or Allow from 127.0.0.1 to refer to
your home connection''s IP address. If you need help finding the IP address of your home
connection, check out the next section. There should be four locations in the file that must be
changed:
. . .
Require ip your_workstation_IP_address
. . .
Allow from your_workstation_IP_address
. . .
Require ip your_workstation_IP_address
. . .
Allow from your_workstation_IP_address
. . .
When you are finished, restart the Apache web server to implement your modifications by typing:
sudo systemctl restart httpd.service
With that, our phpMyAdmin installation is now operational. To access the interface, go to your
server''s domain name or public IP address followed by /phpMyAdmin, in your web browser:
http://server_domain_or_IP/phpMyAdmin
Proprietary & Confidential. Not for Redistribution or Use without 16 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
To sign in, use a username/password pair of a valid MariaDB user. The root user and the
MariaDB administrative password is a good choice to get started. You will then be able to
access the administrative interface:
Proprietary & Confidential. Not for Redistribution or Use without 17 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
9 Customer Support
We provide free fix for existing bugs in the image. We offer competitive price for below services,
example
Website template design
Password reconfiguration for SFT, MySQL, etc
Data migration from existing website
System global configuration optimization
Bundle DNS server
Installation of more software and optimization
Security scan
Firewall installation and configuration
etc
Contact us through following email for quotation.
support@infnityglobals.com
Website:
www.infinityglobals.com
www.infinitygohosting.com
www.alicloudhosting.net
Proprietary & Confidential. Not for Redistribution or Use without 18 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
10 Appendix A - WordPress
Name of the Image WordPress on LAMP CentOS 7.4 Lite
Version 1.0
WordPress 4.9.2
Apache 2.4.6 (CentOS)
MySQL Ver15.1 Distrib 5.5.56-MariaDB
PHP 5.4.16
After you have already created an instance with WordPress on IGS image, visit your instance IP
address in a browser.
Step 1. Database for WordPress
A database is created automatically when your ECS starts. Password is generated with a
random number for better security. ssh to your ECS, then refer to following file for the database
name and password.
/root/wordpress.pwd
This file contains the root account information for mysql.
/root/password.pwd
Step 2. Install WordPress
To access, using following URL
http://
You should see following WordPress Installation Page.
Proprietary & Confidential. Not for Redistribution or Use without 19 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Step 3. Configure Your Domain
Log in to your WordPress admin panel at http://Global IP address/wp-admin using the
account you created in step 2. Click Setting in the navigation bar on left-hand side of the page.
Update the WordPress Address(URL) and site Address(URL) fields to reflect your new domain
name and click Save Changes.
Proprietary & Confidential. Not for Redistribution or Use without 20 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Step 4. Install WordPress
Follow the Famous 5-Minute Install from WordPress website to complete the installation.
More detailed instructions follow.
http://codex.wordpress.org/Installing_WordPress#Famous_5-Minute_Install
Step 5. Open Website
http://
or
http://
Proprietary & Confidential. Not for Redistribution or Use without 21 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
11 Appendix B – Joomla
Name of the Image Joomla on LAMP CentOS 7.4 Lite
Version 1.0
Joomla 3.8.4
Apache 2.4.6 (CentOS)
MySQL Ver15.1 Distrib 5.5.56-MariaDB
PHP 5.6.33
After you have already created an instance with Joomla on IGS image, visit your instance IP
address in a browser.
Step 1. Database for Joomla
A database is created automatically when your ECS starts. Password is generated with a
random number for better security. ssh to your ECS, then refer to following file for the database
name and password.
/root/joomla.pwd
This file contains the root account information for mysql.
/root/password.pwd
Step 2. Install Joomla
To access, using following URL
http://
You should see Joomla setup page.
Proprietary & Confidential. Not for Redistribution or Use without 22 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Setup the Database with the information in step 1. /root/password.pwd. Use root user here.
Proprietary & Confidential. Not for Redistribution or Use without 23 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Continue with the setup until all are done.
Proprietary & Confidential. Not for Redistribution or Use without 24 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Proprietary & Confidential. Not for Redistribution or Use without 25 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Proprietary & Confidential. Not for Redistribution or Use without 26 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
If you run into issues with Joomla installation like configuration.php needs to be generated.
Copy the content and save it as “configuration.php”, then upload to your ECS, put it under
/var/www/html/
Then run following command to change the file ownership.
sudo chown -R apache:apache /var/www/html
Proprietary & Confidential. Not for Redistribution or Use without 27 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Step 3. Remove installation folder
ssh to your ECS instance and issue following command to remove the installation folder.
sudo rm –rf /var/www/html/installation/
Step 4. Open Website
http://
or
http://
For administrator login, use following link
http:///administrator
Proprietary & Confidential. Not for Redistribution or Use without 28 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
12 Appendix C – Drupal
Name of the Image Drupal on LAMP CentOS 7.4 Lite
Version 1.0
Drupal 8.3.7
Apache 2.4.6 (CentOS)
MySQL 10.3.4-MariaDB
PHP 7.0.27
After you have already created an instance with Drupal on IGS image, visit your instance IP
address in a browser.
Step 1. Database for Joomla
A database is created automatically when your ECS starts. Password is generated with a
random number for better security. ssh to your ECS, then refer to following file for the database
name and password.
/root/drupal.pwd
Database name: drupaldb
Username: drupaldb
This file contains the root account information for mysql.
/root/password.pwd
Step 2. Install Joomla
To access, using following URL
http:///
You should see setup page.
Continue with the setup
Proprietary & Confidential. Not for Redistribution or Use without 29 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
If there is warning like CLEAN URLS, you can enable / disable it at a later time.
Proprietary & Confidential. Not for Redistribution or Use without 30 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Click “Continue Anyway” at the bottom.
Enter the database information from step 1. /root/drupaldb.pwd
Proprietary & Confidential. Not for Redistribution or Use without 31 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
It will take a while to complete the site configuration; you can refresh the page if it does not after a few
mins.
Proprietary & Confidential. Not for Redistribution or Use without 32 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Fill in the information, click “Save and Continue”
Congratulations, you just installed Drupal!
Proprietary & Confidential. Not for Redistribution or Use without 33 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Step 3. Open Website
http://
or
http://
For administrator login, use following link
http:///
Proprietary & Confidential. Not for Redistribution or Use without 34 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Note:
For following error, you can add following few lines into /var/www/html/sites/default/settings.php.
Update the domain name accordingly.
$settings[''trusted_host_patterns''] = array(
''^example\.com$'',
''^www\.example\.com$'',
);
Copy the default.settings.php if above file does not exist. Then change the permission and owner.
chmod g+w settings.php
chown apache:apache settings.php
Proprietary & Confidential. Not for Redistribution or Use without 35 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
13 Appendix D – Magento
Name of the Image Magento on LAMP CentOS 7.4 Lite
Version 1.0
Magento 2.2.0
Apache 2.4.6 (CentOS)
MySQL Ver 15.1 Distrib 10.1.31
PHP 7.0.27
Composer version 1.6.3
After you have already created an ECS instance with Magento on IGS image, visit your instance
IP address in a browser.
Step 1. Database for Magento
A database is created automatically when your ECS starts. Password is generated randomly for
better security. ssh to your ECS, then refer to following file for the database name and
password.
/root/magento.pwd
Database name: magento
Username: magento
This file contains the root account information for mysql.
/root/password.pwd
Step 2. Install Magento
To access, using following URL
http:///
You should see setup page.
Proprietary & Confidential. Not for Redistribution or Use without 36 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Continue with the setup
Enter the database information from step 1. /root/magento.pwd
Update store address and admin address.
Proprietary & Confidential. Not for Redistribution or Use without 37 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Proprietary & Confidential. Not for Redistribution or Use without 38 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Setup the administrator account.
Click “Install Now” when all configurations are done.
Proprietary & Confidential. Not for Redistribution or Use without 39 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
It will take a while to complete the installation.
Congratulations, you just installed Magento!
Step 3. Open Website
http://
or
http://
For administrator login, use following link
http:///admin
Optional
Step 4. Setup cron jobs for Magento
Do this when you see a warning message on the admin page.
ssh to your ECS Instance, and issue following command :
crontab -u apache -e
Include these lines:
*/5 * * * * php -c /etc /var/www/html/bin/magento cron:run
*/5 * * * * php -c /etc /var/www/html/update/cron.php
*/5 * * * * php -c /etc /var/www/html/bin/magento setup:cron:run
Finally finish by saving the file. E.g. Press key, then type ‘:’, enter ‘wq’, Press
key to save the change.
Proprietary & Confidential. Not for Redistribution or Use without 40 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.INFINITY GLOBAL SOLUTIONS PTE.LTD.
Step 5. Update Magento to latest version
Later use the following commands for updating Mage to any Latest version:
cd /var/www/html
sudo composer update
Proprietary & Confidential. Not for Redistribution or Use without 41 | P a g e
Approval.Copyright© 2017 Infinity Global
SolutionsPte.Ltd.AllRightsReserved.">