Introduction
CentOS 7 is a popular Linux distribution known for its stability and security. If you want to set up a web server on CentOS 7, you may need to install Apache, MySQL or MariaDB and PHP. In this comprehensive guide, we'll walk you through the installation process of these components, along with examples and their output to ensure a successful installation.
prerequisites
Before we begin, please make sure you have the following prerequisites -
CentOS 7 installed on your server or virtual machine.
Root access or sudo permissions to execute commands with administrative privileges.
Update system
First, let's update the system to make sure we have the latest packages and dependencies.
Open the terminal and execute the following command -
sudo yum update -y
Install Apache
Apache is a widely used web server software. To install Apache on CentOS 7, follow these steps -
Enter the following command to install Apache -
sudo yum install httpd -y
After the installation is complete, start the Apache service -
sudo systemctl start httpd
To make Apache start automatically on boot, run the following command -
sudo systemctl enable httpd
Verify that Apache is running by accessing the server's IP address or domain name in a web browser. You should see the Apache default page.
Install MySQL 8 or MariaDB 10
Next, we need to install a relational database management system. You can choose MySQL 8 or MariaDB 10 according to your preference. Here we will cover both installations.
For MySQL 8 -
Execute the following command to install the MySQL repository -
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm -y
Install MySQL 8 by running the following command -
sudo yum install mysql-server -y
After the installation is complete, start the MySQL service -
sudo systemctl start mysqld
To protect your MySQL installation, run the security script -
sudo mysql_secure_installation
For MariaDB 10 -
Enter the following commands to install MariaDB -
sudo yum install mariadb-server -y
Start MariaDB service -
sudo systemctl start mariadb
Protect MariaDB installation using secure scripts -
sudo mysql_secure_installation
Install PHP 7
PHP is a server-side scripting language required for dynamic web development. To install PHP 7 on CentOS 7, follow these steps -
Execute the following command to install PHP and its extensions -
sudo yum install php php-mysqlnd -y
After the installation is complete, restart the Apache service to enable PHP -
sudo systemctl restart httpd
To test whether PHP is working properly, create a PHP information file. Create a file named info.php in the default web server directory using the following command -
sudo nano /var/www/html/info.php
In the editor, add the following PHP code -
<?php phpinfo(); ?>
Save the file and exit the editor. Now, visit http://your_server_IP_address/info.php in your web browser. You should see a PHP Information page showing details about your PHP installation.
Configure PHP and test the installation
In order to further configure PHP, you can modify the PHP configuration file as needed. The configuration file for PHP on CentOS 7 is located in /etc/php.ini. You can open and edit the file using a text editor such as nano or vi.
For example, to increase the maximum file upload size, search for the upload_max_filesize directive in the php.ini file and modify it to your desired value. Save changes and restart Apache for modifications to take effect -
sudo systemctl restart httpd
Now, let's test the PHP installation by creating a simple PHP script. Create a new file called test.php in the default web server directory -
sudo nano /var/www/html/test.php
Add the following PHP code to the file -
<?php echo "PHP is working correctly!"; ?>
Save the file and exit the editor. Now, visit http://your_server_IP_address/test.php in your web browser. You should see the message "PHP is working fine!" displayed on the page, confirming that PHP is installed and configured correctly.
Verify MySQL or MariaDB installation
To ensure that MySQL 8 or MariaDB 10 was installed successfully, you can perform a simple check.
For MySQL, execute the following command -
sudo systemctl status mysqld
If MySQL is running normally, you should see an output indicating that the service is active and running.
For MariaDB, run the following command -
sudo systemctl status mariadb
If MariaDB is running normally, you will see the service status as Active.
Connect to MySQL or MariaDB
To connect to MySQL or MariaDB from the command line, you can use the MySQL client utility. Open a terminal and enter the following command -
mysql -u root -p
You will be prompted to enter your MySQL or MariaDB root password. Once authenticated, you will enter the MySQL or MariaDB command line interface.
To verify the connection, you can execute a simple query. For example, let's show all databases -
SHOW DATABASES;
This command will display the list of databases available in the MySQL or MariaDB server.
in conclusion
In this article, we cover the step-by-step installation process of Apache, MySQL 8 or MariaDB 10 and PHP 7 on CentOS 7. We also provide examples and output to help you understand the installation and configuration steps.
The above is the detailed content of Install Apache, MySQL 8 or MariaDB 10 and PHP 7 on CentOS 7. For more information, please follow other related articles on the PHP Chinese website!

MySQLviewshavelimitations:1)Theydon'tsupportallSQLoperations,restrictingdatamanipulationthroughviewswithjoinsorsubqueries.2)Theycanimpactperformance,especiallywithcomplexqueriesorlargedatasets.3)Viewsdon'tstoredata,potentiallyleadingtooutdatedinforma

ProperusermanagementinMySQLiscrucialforenhancingsecurityandensuringefficientdatabaseoperation.1)UseCREATEUSERtoaddusers,specifyingconnectionsourcewith@'localhost'or@'%'.2)GrantspecificprivilegeswithGRANT,usingleastprivilegeprincipletominimizerisks.3)

MySQLdoesn'timposeahardlimitontriggers,butpracticalfactorsdeterminetheireffectiveuse:1)Serverconfigurationimpactstriggermanagement;2)Complextriggersincreasesystemload;3)Largertablesslowtriggerperformance;4)Highconcurrencycancausetriggercontention;5)M

Yes,it'ssafetostoreBLOBdatainMySQL,butconsiderthesefactors:1)StorageSpace:BLOBscanconsumesignificantspace,potentiallyincreasingcostsandslowingperformance.2)Performance:LargerrowsizesduetoBLOBsmayslowdownqueries.3)BackupandRecovery:Theseprocessescanbe

Adding MySQL users through the PHP web interface can use MySQLi extensions. The steps are as follows: 1. Connect to the MySQL database and use the MySQLi extension. 2. Create a user, use the CREATEUSER statement, and use the PASSWORD() function to encrypt the password. 3. Prevent SQL injection and use the mysqli_real_escape_string() function to process user input. 4. Assign permissions to new users and use the GRANT statement.

MySQL'sBLOBissuitableforstoringbinarydatawithinarelationaldatabase,whileNoSQLoptionslikeMongoDB,Redis,andCassandraofferflexible,scalablesolutionsforunstructureddata.BLOBissimplerbutcanslowdownperformancewithlargedata;NoSQLprovidesbetterscalabilityand

ToaddauserinMySQL,use:CREATEUSER'username'@'host'IDENTIFIEDBY'password';Here'showtodoitsecurely:1)Choosethehostcarefullytocontrolaccess.2)SetresourcelimitswithoptionslikeMAX_QUERIES_PER_HOUR.3)Usestrong,uniquepasswords.4)EnforceSSL/TLSconnectionswith

ToavoidcommonmistakeswithstringdatatypesinMySQL,understandstringtypenuances,choosetherighttype,andmanageencodingandcollationsettingseffectively.1)UseCHARforfixed-lengthstrings,VARCHARforvariable-length,andTEXT/BLOBforlargerdata.2)Setcorrectcharacters


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Zend Studio 13.0.1
Powerful PHP integrated development environment

SublimeText3 Linux new version
SublimeText3 Linux latest version

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software
