LAMP

系统需求

  • 系统支持

Amazon Linux 2
CentOS 7
CentOS Stream 8
CentOS Stream 9
Rocky Linux 8 (recommend)
Rocky Linux 9
AlmaLinux 8 (recommend)
AlmaLinux 9
Debian 9
Debian 10
Debian 11 (recommend)
Ubuntu 18.04
Ubuntu 20.04
Ubuntu 22.04 (recommend)
  • 内存要求:≥ 512MB

  • 硬盘要求:至少 10GB 以上的剩余空间

  • 服务器必须配置好 软件源 和 可连接外网

  • 必须具有系统 root 权限

  • 强烈建议使用全新系统来安装

支持组件

  • 支持 PHP 自带几乎所有组件

  • 支持 SQLite、MySQL、MariaDB 数据库

  • 支持 Yaf(可选安装)

  • 支持 Redis(可选安装)

  • 支持 Swoole (可选安装)

  • 支持 Memcached (可选安装)

  • 支持 ImageMagick (可选安装)

  • 支持 ionCube Loader (可选安装)

  • 自助升级 Apache,PHP,phpMyAdmin,Adminer,MySQL/MariaDB 至最新版本

  • 命令行新增虚拟主机(使用 lamp 命令),操作简便

  • 支持一键卸载程序(不会删除网站数据)

安装步骤

  1. 事前准备(安装 wget、git)

注意:双斜杠//后的内容不要复制输入
yum -y install wget git      // for Amazon Linux/CentOS
apt-get -y install wget git  // for Debian/Ubuntu
  1. git clone 并赋予脚本执行权限

git clone https://github.com/teddysun/lamp.git
cd lamp
chmod 755 *.sh
  1. 使用自动模式安装

[root@lamp]# ~/lamp/lamp.sh -h

+-------------------------------------------------------------------+| Auto Install LAMP(Linux + Apache + MySQL/MariaDB + PHP )          |
| Intro : https://lamp.sh                                           |
| Author: Teddysun <i@teddysun.com>                                 |
+-------------------------------------------------------------------+Usage  : ./lamp.sh [Options] [Parameters]
Options:
-h, --help                      Print this help text and exit-v, --version                   Print program version and exit--apache_option [1-2]           Apache server version--apache_modules [mod name]     Apache modules: mod_wsgi, mod_security, mod_jk--db_option [1-9]               Database version--db_data_path [location]       Database Data Location. for example: /data/db--db_root_pwd [password]        Database root password. for example: lamp.sh--php_option [1-4]              PHP version--php_extensions [ext name]     PHP extensions:
                                apcu, ioncube, pdflib, imagick, xdebug
                                memcached, redis, mongodb, libsodium, swoole
                                yaf, yar, phalcon, grpc--db_manage_modules [mod name]  Database management modules: phpmyadmin, adminer--kodexplorer_option [1-2]      KodExplorer versionParameters:--apache_option [1-2], please select a available Apache version
  1. httpd-2.4.52
  2. do_not_install--db_option [1-9], please select a available Database version
  1. mysql-5.7.37
  2. mysql-8.0.28
  3. mariadb-10.2.43
  4. mariadb-10.3.34
  5. mariadb-10.4.24
  6. mariadb-10.5.15
  7. mariadb-10.6.7
  8. mariadb-10.7.3
  9. do_not_install--php_option [1-4], please select a available PHP version
  1. php-7.4.28
  2. php-8.0.16
  3. php-8.1.3
  4. do_not_install--kodexplorer_option [1-2], please select a available KodExplorer version
  1. kodexplorer-4.47
  2. do_not_install

比如:安装 Apache、Apache 模块 mod_wsgi,mod_security、MySQL-5.7、root 密码 teddysun.com、PHP-7.4、PHP 扩展 ioncube,imagick,redis,mongodb,libsodium,swoole、以及 phpMyAdmin、Adminer、KodExplorer

./lamp.sh --apache_option 1 --apache_modules mod_wsgi,mod_security --db_option 1 --db_root_pwd teddysun.com --php_option 1 --php_extensions ioncube,imagick,redis,mongodb,libsodium,swoole --db_manage_modules phpmyadmin,adminer --kodexplorer_option 1

使用自动模式在安装时,会显示安装选项,比如上面的示例,会返回如下结果,这些信息会记入安装日志:

------------------------- Install Overview --------------------------

Apache: httpd-2.4.52Apache Location: /usr/local/apache
Apache Additional Modules:
mod_wsgi-4.9.0modsecurity-2.9.5Database: mysql-5.7.37MySQL Location: /usr/local/mysql
MySQL Data Location: /usr/local/mysql/data
MySQL Root Password: teddysun.com

Database Management Modules:
phpMyAdmin-5.1.3-all-languages
adminer-4.8.1PHP: php-7.4.38PHP Location: /usr/local/php
PHP Additional Extensions:
ioncube_loaders
imagick-3.7.0redis-5.3.7mongodb-1.12.0libsodium-php-2.0.23swoole-4.8.6KodExplorer: kodfile-4.37KodExplorer Location: /data/www/default/kod

---------------------------------------------------------------------

参数说明

如果你不想安装或者使用默认值,只需将对应的参数省略即可。
数据库的数据位置默认为安装目录下的 data 目录;
数据库的默认 root 密码为 lamp.sh
比如:安装 Apache、MariaDB-10.5、PHP-7.4、phpMyAdmin

./lamp.sh --apache_option 1 --db_option 6 --php_option 1 --db_manage_modules phpmyadmin

上面的示例,会返回如下结果:

------------------------- Install Overview --------------------------Apache: httpd-2.4.52Apache Location: /usr/local/apache

Database: mariadb-10.5.15MariaDB Location: /usr/local/mariadb
MariaDB Data Location: /usr/local/mariadb/data
MariaDB Root Password: lamp.sh

Database Management Modules:
phpMyAdmin-5.1.3-all-languages

PHP: php-7.4.38PHP Location: /usr/local/php

KodExplorer: do_not_install---------------------------------------------------------------------

使用提示

lamp add      创建虚拟主机
lamp del      删除虚拟主机
lamp list     列出虚拟主机
lamp version  显示当前版本

如何升级

注意:双斜杠//后的内容不要复制输入
cd ~/lamp
git reset --hard         // Resets the index and working treegit pull                 // Get latest version firstchmod 755 *.sh

./upgrade.sh             // Select one to upgrade./upgrade.sh apache      // Upgrade Apache
./upgrade.sh db          // Upgrade MySQL or MariaDB
./upgrade.sh php         // Upgrade PHP
./upgrade.sh phpmyadmin  // Upgrade phpMyAdmin
./upgrade.sh adminer     // Upgrade Adminer

如何卸载

./uninstall.sh

程序目录

  • MySQL 安装目录: /usr/local/mysql

  • MySQL 数据库目录:/usr/local/mysql/data(默认路径,安装时可更改)

  • MariaDB 安装目录: /usr/local/mariadb

  • MariaDB 数据库目录:/usr/local/mariadb/data(默认路径,安装时可更改)

  • PHP 安装目录: /usr/local/php

  • Apache 安装目录: /usr/local/apache

命令一览

  • MySQL 或 MariaDB 命令

/etc/init.d/mysqld (start|stop|restart|status)
  • Apache 命令

/etc/init.d/httpd (start|stop|restart|status)
  • Memcached 命令(可选安装)

/etc/init.d/memcached (start|stop|restart|status)
  • Redis 命令(可选安装)

/etc/init.d/redis-server (start|stop|restart|status)

网站根目录

默认的网站根目录: /data/www/default