GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare o aggiornare LAMP:stack Linux, Apache, MySQL e PHP utilizzando Yum

In precedenza abbiamo discusso su come installare Apache e PHP dal sorgente. L'installazione dello stack LAMP dal sorgente ti darà il pieno controllo per configurare parametri diversi.

Installazione dello stack LAMP usando yum è molto facile e richiede solo pochi minuti. Questa è una buona opzione per i principianti che non si sentono a proprio agio con l'installazione dal sorgente. Inoltre, l'installazione dello stack LAMP utilizzando yum è una buona scelta, se vuoi mantenere le cose semplici e utilizzare semplicemente la configurazione predefinita.

1. Installa Apache usando Yum

# rpm -qa | grep httpd

[Note: If the above command did not return anything,
          install apache as shown below]

# yum install httpd

Verifica che Apache sia stato installato correttamente

# rpm -qa | grep -i http

httpd-tools-2.2.9-1.fc9.i386
httpd-2.2.9-1.fc9.i386

Abilita il servizio httpd per l'avvio automatico durante l'avvio del sistema utilizzando chkconfig. Avvia Apache come mostrato di seguito.

# chkconfig httpd on

# service httpd start
Starting httpd:                   [  OK  ]

2. Aggiorna Apache usando Yum

Se hai selezionato il pacchetto del server web durante l'installazione di Linux, Apache è già installato sul tuo Linux. In tal caso, puoi aggiornare Apache all'ultima versione come mostrato di seguito.

Controlla se Apache è già installato.

# rpm -qa | grep -i http

httpd-tools-2.2.8-3.i386
httpd-2.2.8-3.i386
[Note: This indicates that Apache 2.2.8 version is installed already]

Verifica se l'ultima versione di Apache è disponibile per l'installazione utilizzando yum.

# yum check-update httpd

Loaded plugins: refresh-packagekit
httpd.i386      2.2.9-1.fc9       updates
[Note: This indicates that the latest Apache version 2.2.9
       is available for upgrade]

Aggiorna Apache all'ultima versione usando yum.

# yum update httpd

Output di yum update httpd comando:

Loaded plugins: refresh-packagekit
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.i386 0:2.2.9-1.fc9 set to be updated
--> Processing Dependency: httpd-tools = 2.2.9-1.fc9 for package: httpd
--> Running transaction check
---> Package httpd-tools.i386 0:2.2.9-1.fc9 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Updating:
httpd                   i386       2.2.9-1.fc9      updates           975 k
httpd-tools             i386       2.2.9-1.fc9      updates            69 k

Transaction Summary
=============================================================================
Install      0 Package(s)
Update       2 Package(s)
Remove       0 Package(s)

Total download size: 1.0 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): httpd-tools-2.2.9-1.fc9.i386.rpm                  |  69 kB     00:00
(2/2): httpd-2.2.9-1.fc9.i386.rpm                        | 975 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating       : httpd-tools                                       [1/4]
Updating       : httpd                                             [2/4]
Cleanup        : httpd                                             [3/4]
Cleanup        : httpd-tools                                       [4/4]

Updated: httpd.i386 0:2.2.9-1.fc9 httpd-tools.i386 0:2.2.9-1.fc9
Complete!

Verifica se l'Apache è stato aggiornato correttamente.

# rpm -qa | grep -i http

httpd-tools-2.2.9-1.fc9.i386
httpd-2.2.9-1.fc9.i386
[Note: This indicates that Apache was upgraded to 2.2.9 successfully]

3. Installa MySQL usando Yum

Yum è molto intelligente per identificare tutte le dipendenze e installarle automaticamente. Ad esempio, durante l'installazione di mysql-server utilizzando yum, installa automaticamente anche i pacchetti dipendenti mysql-libs, perl-DBI, mysql, perl-DBD-MySQL come mostrato di seguito.

# yum install mysql-server

Output di yum install mysql-server comando:

Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package mysql-server.i386 0:5.0.51a-1.fc9 set to be updated
--> Processing Dependency: libmysqlclient_r.so.15 for mysql-server
--> Processing Dependency: libmysqlclient.so.15 for mysql-server
--> Processing Dependency: perl-DBI for package: mysql-server
--> Processing Dependency: mysql = 5.0.51a-1.fc9 for package: mysql-server
--> Processing Dependency: libmysqlclient.so.15 for package: mysql-server
--> Processing Dependency: perl(DBI) for package: mysql-server
--> Processing Dependency: perl-DBD-MySQL for package: mysql-server
--> Processing Dependency: libmysqlclient_r.so.15 for package: mysql-server
--> Running transaction check
---> Package mysql.i386 0:5.0.51a-1.fc9 set to be updated
---> Package mysql-libs.i386 0:5.0.51a-1.fc9 set to be updated
---> Package perl-DBD-MySQL.i386 0:4.005-8.fc9 set to be updated
---> Package perl-DBI.i386 0:1.607-1.fc9 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
mysql-server            i386       5.0.51a-1.fc9    fedora            9.8 M
Installing for dependencies:
mysql                   i386       5.0.51a-1.fc9    fedora            2.9 M
mysql-libs              i386       5.0.51a-1.fc9    fedora            1.5 M
perl-DBD-MySQL          i386       4.005-8.fc9      fedora            165 k
perl-DBI                i386       1.607-1.fc9      updates           776 k

Transaction Summary
=============================================================================
Install      5 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 15 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): perl-DBD-MySQL-4.005-8.fc9.i386.rpm           | 165 kB     00:00
(2/5): perl-DBI-1.607-1.fc9.i386.rpm                 | 776 kB     00:00
(3/5): mysql-libs-5.0.51a-1.fc9.i386.rpm             | 1.5 MB     00:00
(4/5): mysql-5.0.51a-1.fc9.i386.rpm                  | 2.9 MB     00:00
(5/5): mysql-server-5.0.51a-1.fc9.i386.rpm           | 9.8 MB     00:01
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing     : mysql-libs                                        [1/5]
Installing     : perl-DBI                                          [2/5]
Installing     : mysql                                             [3/5]
Installing     : perl-DBD-MySQL                                    [4/5]
Installing     : mysql-server                                      [5/5]

Installed: mysql-server.i386 0:5.0.51a-1.fc9
Dependency Installed:
  mysql.i386 0:5.0.51a-1.fc9 mysql-libs.i386 0:5.0.51a-1.fc9
  perl-DBD-MySQL.i386 0:4.005-8.fc9 perl-DBI.i386 0:1.607-1.fc9
Complete!

Verifica se MySQL è stato installato correttamente.

# rpm -qa | grep -i mysql

php-mysql-5.2.6-2.fc9.i386
mysql-libs-5.0.51a-1.fc9.i386
mysql-server-5.0.51a-1.fc9.i386
perl-DBD-MySQL-4.005-8.fc9.i386
mysql-5.0.51a-1.fc9.i386

# mysql -V

mysql  Ver 14.12 Distrib 5.0.51a, for redhat-linux-gnu (i386) using readline 5.0

Configura MySQL per l'avvio automatico durante l'avvio del sistema.

# chkconfig mysqld on

Avvia il servizio MySQL.

# service mysqld start

La prima volta che avvii mysqld, verrà visualizzato un messaggio informativo aggiuntivo che indica di eseguire la configurazione post-installazione come mostrato di seguito.

Initializing MySQL database:
Installing MySQL system tables... OK
Filling help tables... OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h dev-db password 'new-password'

Alternatively you can run: /usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default.  This is
highly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com

Starting MySQL:                                            [  OK  ]

4. Esegui attività post-installazione di MySQL

Dopo l'installazione di mysql, puoi accedere all'account root di mysql senza fornire alcuna password come mostrato di seguito.

# mysql -u root

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.51a Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Per risolvere questo problema, è necessario assegnare una password all'account root di mysql come mostrato di seguito. Esegui lo script mysql_secure_installation, che esegue le seguenti attività:

  • Assegna la password di root
  • Rimuovi l'utente anonimo
  • Non consentire l'accesso come root da macchine remote
  • Rimuovi il database di test di esempio predefinito
# /usr/bin/mysql_secure_installation

Output dello script mysql_secure_installation:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, 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):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] Y
New password: [Note: Enter the mysql root password here]
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

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...
All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!

Verifica le attività post-installazione di MySQL:

# mysql -u root

ERROR 1045 (28000):Access denied for user 'root'@'localhost'(using password:NO)
[Note: root access without password is denied]

# mysql -u root -p

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.0.51a Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)
[Note: test database is removed]

5. Aggiorna MySQL usando Yum

Controlla se MySQL è già installato.

# rpm -qa | grep -i mysql

Verifica se è disponibile una versione più recente di MySQL per l'installazione utilizzando yum.

# yum check-update mysql-server

Aggiorna MySQL all'ultima versione usando yum.

# yum update mysql-server

6. Installa PHP usando Yum

# yum install php

Output di yum install php :

Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package php.i386 0:5.2.6-2.fc9 set to be updated
--> Processing Dependency: php-common = 5.2.6-2.fc9 for package: php
--> Processing Dependency: php-cli = 5.2.6-2.fc9 for package: php
--> Running transaction check
---> Package php-common.i386 0:5.2.6-2.fc9 set to be updated
---> Package php-cli.i386 0:5.2.6-2.fc9 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved
=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
php                     i386       5.2.6-2.fc9      updates           1.2 M
Installing for dependencies:
php-cli                 i386       5.2.6-2.fc9      updates           2.3 M
php-common              i386       5.2.6-2.fc9      updates           228 k

Transaction Summary
=============================================================================
Install      3 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 3.8 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): php-common-5.2.6-2.fc9.i386.rpm  | 228 kB     00:00
(2/3): php-5.2.6-2.fc9.i386.rpm         | 1.2 MB     00:00
(3/3): php-cli-5.2.6-2.fc9.i386.rpm     | 2.3 MB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing     : php-common     [1/3]
Installing     : php-cli        [2/3]
Installing     : php            [3/3]

Installed: php.i386 0:5.2.6-2.fc9
Dependency Installed: php-cli.i386 0:5.2.6-2.fc9 php-common.i386 0:5.2.6-2.fc9
Complete!

Verifica che php sia stato installato correttamente.

# rpm -qa | grep -i php

php-cli-5.2.6-2.fc9.i386
php-5.2.6-2.fc9.i386
php-common-5.2.6-2.fc9.i386

Installa il modulo MySQL per PHP.

# yum search php-mysql

Loaded plugins: refresh-packagekit
=========== Matched: php-mysql =============
php-mysql.i386 : A module for PHP applications that use MySQL databases

# yum install php-mysql

Output di yum install php-mysql :

Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.i386 0:5.2.6-2.fc9 set to be updated
--> Processing Dependency: php-pdo for package: php-mysql
--> Running transaction check
---> Package php-pdo.i386 0:5.2.6-2.fc9 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
php-mysql               i386       5.2.6-2.fc9      updates            81 k
Installing for dependencies:
php-pdo                 i386       5.2.6-2.fc9      updates            62 k

Transaction Summary
=============================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 143 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): php-pdo-5.2.6-2.fc9.i386.rpm     |  62 kB     00:00
(2/2): php-mysql-5.2.6-2.fc9.i386.rpm   |  81 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing     : php-pdo                [1/2]
Installing     : php-mysql              [2/2]

Installed: php-mysql.i386 0:5.2.6-2.fc9
Dependency Installed: php-pdo.i386 0:5.2.6-2.fc9
Complete!

Se hai bisogno di moduli PHP aggiuntivi, installali usando yum come mostrato di seguito.

# yum install php-common php-mbstring php-mcrypt php-devel php-xml php-gd

7. Aggiorna PHP usando Yum

Verifica se PHP è installato.

# rpm -qa | grep -i php

Verifica se l'ultima versione di PHP è disponibile per l'installazione utilizzando yum.

# yum check-update php

Aggiorna PHP all'ultima versione utilizzando yum.

# yum update php

Aggiorna tutti i moduli PHP aggiuntivi che hai installato utilizzando yum.

# yum check-update php-common php-mbstring php-mcrypt php-devel php-xml php-gd

# yum update php-common php-mbstring php-mcrypt php-devel php-xml php-gd

Verifica l'installazione di PHP creando un file test.php come mostrato di seguito.

# cat /var/www/html/test.php

<? phpinfo(); ?>

Richiama test.php dal browser http://{lamp-server-ip}/test.php , che visualizzerà tutte le informazioni sulla configurazione PHP e i moduli installati.

Se questo articolo ti è piaciuto, aggiungilo ai segnalibri su del.icio.us e Inciampalo .


Linux
  1. Come installare lo stack Linux, Apache, MySQL, PHP (LAMP) su Ubuntu 16.04

  2. Come installare Apache e PHP (stack LAMP) su Rocky Linux/Centos 8

  3. Come installare e configurare PHP e Apache (stack LAMP) su Ubuntu 20.04

  4. Come installare LAMP (Linux, Apache, MySQL, PHP) su Debian 9

  5. Come installare LAMP Apache, MySQL, PHP su Debian 11

Come installare Linux, Apache, MySQL, PHP (LAMP) su Debian 8.2 Cloud Server

Come installare Linux, Apache, MySQL e PHP (LAMP) su un server cloud Ubuntu 12.04

Come installare LAMP su Ubuntu 15.10 (Linux, Apache, MySQL e PHP)

Come installare LAMP su Fedora 23 (Linux, Apache, MySQL e PHP)

Come installare Apache, MySQL, PHP (LAMP) su Arch Linux

Come installare lo stack Apache, MySQL, PHP (LAMP) su Ubuntu 16.04