常见LAMP应用
1. PhpMyAdmin
是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库
2. WordPress
是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可把 WordPress当作一个内容管理系统(CMS)来使用
3. PHPWind
:2003年发布了PHPWind的前身版本ofstar,并发展成为包含BBS、CMS、博客、SNS等一系列程序的通用型建站软件, 于2008年加入阿里巴巴集团
4. Crossday Discuz
! Board(简称 Discuz!)是一套通用的社区论坛软件系统。自2001年6月面世以来,是全球成熟度最高、覆盖率最大的论坛软件系统之一。2010年8月23日,与腾讯达成收购协议
5. ECShop
是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。2006年6月,ECShop推出第一个版本1.0
实验:LAMP布署phpMyadmin
- 安装相关及启动服务
yum -y install httpd mariadb-server php php-mysql php-mbstring
systemctl start httpd
systemctl start mariadb
- mysql数据库的安全初始化
mysql_secure_installation
- 下载phpmyadmin
>https://www.phpmyadmin.net/downloads/
不同版本有不同php版本的要求,下载前请注意
wget https://files.phpmyadmin.net/phpMyAdmin/4.4.15/phpMyAdmin-4.4.15-all-languages.tar.xz
- 解压phpmyadmin
#1
cd /var/www/html
#2解压
tar xvf phpMyAdmin-4.0.10.20-all-languages.tar.xz
#3改个容易记的名字吧
mv phpMyAdmin-4.0.10.20-all-languages phpmyadmin
- 配置
#1
cd phpmyadmin
#2把配置文件的sample去了
cp config.sample.inc.php config.inc.php
#3建议加个密码
vim config.inc.php
17 $cfg['blowfish_secret'] = '你的密码'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
- 这样就可以登录了
实验:LAMP布署wordpress
双机布署wordpress:
1. 主机一安装httpd,php:192.168.99.101
2. 主机二安装mariadb:192.168.99.102
wordpress下载地址:
官网:https://cn.wordpress.org/
192.168.99.102 |
- 安装mysql然后启动
[102]$ yum install mariadb-server
[102]$ systemctl start mariadb
- 新建wpdb库和wpuser用户
[101]$ mysql
mysql> create database wpdb;
mysql> grant all privileges on wpdb.* to wpuser@'192.168.99.101' identified by "wppass";
192.168.99.101 |
- 安装http、php
[101]$ yum -y install httpd mariadb-server php php-mysql php-mbstring
- 启动服务
[101]$ systemctl start httpd
- 下载
[101]$ wget https://cn.wordpress.org/wordpress-5.0.4-zh_CN.tar.gz
- 解压缩WordPress
[101]$ tar xf wordpress-5.0.4-zh_CN.tar.gz
#这里可以直接拷贝到/var/www/html下
#mv wordpress /var/www/html
#访问192.168.99.101/wordpress就可以了
#也可以看下面手动配置
- 拷贝配置
[101]$ cd wordpress
[101]$ cp wp-config-sample.php wp-config.php
- 修改配置
[101]$ vim wp-config.php
23 define('DB_NAME', 'wpdb');
24
25 /** MySQL数据库用户名 */
26 define('DB_USER', 'wpuser');
27
28 /** MySQL数据库密码 */
29 define('DB_PASSWORD', 'wppass');
30
31 /** MySQL主机 */
32 define('DB_HOST', '192.168.99.102');
- 移动到网站目录下
[101]$ cd ..
[101]$ mv wordpress /var/www/html/
- 注意wordpress目录权限
[101]$ cd /var/www/html/
[101]$ setfacl -R -m u:apache:rwx wordpress/
- 可以了
实验:LAMP布署Discuz!
双机布署wordpress:
1. 主机一安装httpd,php:192.168.99.101
2. 主机二安装mariadb:192.168.99.102
discuz!下载地址:
官网:http://www.discuz.net/forum-10-1.html
192.168.99.102 |
- 安装mysql然后启动
[102]$ yum install mariadb-server
[102]$ systemctl start mariadb
- 新建wpdb库和wpuser用户
[101]$ mysql
mysql> create database dzdb;
mysql> grant all privileges on dzdb.* to dzuser@'192.168.99.101' identified by "dzpass";
192.168.99.101 |
- 安装http、php
[101]$ yum -y install httpd mariadb-server php php-mysql php-mbstring
- 启动服务
[101]$ systemctl start httpd
- 下载
[101]$ wget http://download.comsenz.com/DiscuzX/3.3/Discuz_X3.3_SC_UTF8.zip
- 解压缩discuz
[101]$ unzip Discuz_X3.3_SC_UTF8.zip
- 移动到网站目录下
[101]$ cd ..
[101]$ mv upload /var/www/html/forum
- 注意wordpress目录权限
[101]$ cd /var/www/html/
[101]$ setfacl -R -m u:apache:rwx forum/
实验:LAMP实现WEB管理的PowerDNS
PowerDNS 是一个跨平台的开源DNS服务组件,它是高性能的域名服务器,除了支持普通的BIND配置文件,PowerDNS还可从MySQL,Oracle,PostgreSQL等的数据库读取数据。PowerDNS安装了Poweradmin(基于php实现),能实现Web管理DNS记录,非常方便
PowerDNS官网:https://www.powerdns.com/
PowerDNS文档:https://doc.powerdns.com/
Poweradmin官网:http://www.poweradmin.org/
- 安装包:基于EPEL源
yum install -y pdns pdns-backend-mysql
- 安装相关及启动服务
yum -y install httpd mariadb-server php php-mysql php-mbstring
systemctl start httpd
systemctl start mariadb
- 准备mariadb中的数据库,表和用户
[102]$ mysql
MariaDB [(none)]> CREATE DATABASE powerdns;
MariaDB [(none)]> GRANT ALL ON powerdns.* TO 'powerdns'@'localhost' IDENTIFIED BY '123';
- 创建powerdns数据库中的表,参看下面
USE powerdns;
CREATE TABLE domains (
id INT AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
master VARCHAR(128) DEFAULT NULL,
last_check INT DEFAULT NULL,
type VARCHAR(6) NOT NULL,
notified_serial INT DEFAULT NULL,
account VARCHAR(40) DEFAULT NULL,
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE UNIQUE INDEX name_index ON domains(name);
CREATE TABLE records (
id BIGINT AUTO_INCREMENT,
domain_id INT DEFAULT NULL,
name VARCHAR(255) DEFAULT NULL,
type VARCHAR(10) DEFAULT NULL,
content VARCHAR(64000) DEFAULT NULL,
ttl INT DEFAULT NULL,
prio INT DEFAULT NULL,
change_date INT DEFAULT NULL,
disabled TINYINT(1) DEFAULT 0,
ordername VARCHAR(255) BINARY DEFAULT NULL,
auth TINYINT(1) DEFAULT 1,
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE INDEX nametype_index ON records(name,type);
CREATE INDEX domain_id ON records(domain_id);
CREATE INDEX recordorder ON records (domain_id, ordername);
CREATE TABLE supermasters (
ip VARCHAR(64) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) NOT NULL,
PRIMARY KEY (ip, nameserver)
) Engine=InnoDB;
CREATE TABLE comments (
id INT AUTO_INCREMENT,
domain_id INT NOT NULL,
name VARCHAR(255) NOT NULL,
type VARCHAR(10) NOT NULL,
modified_at INT NOT NULL,
account VARCHAR(40) NOT NULL,
comment VARCHAR(64000) NOT NULL,
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE INDEX comments_domain_id_idx ON comments (domain_id);
CREATE INDEX comments_name_type_idx ON comments (name, type);
CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);
CREATE TABLE domainmetadata (
id INT AUTO_INCREMENT,
domain_id INT NOT NULL,
kind VARCHAR(32),
content TEXT,
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind);
CREATE TABLE cryptokeys (
id INT AUTO_INCREMENT,
domain_id INT NOT NULL,
flags INT NOT NULL,
active BOOL,
content TEXT,
PRIMARY KEY(id)
) Engine=InnoDB;
CREATE INDEX domainidindex ON cryptokeys(domain_id);
CREATE TABLE tsigkeys (
id INT AUTO_INCREMENT,
name VARCHAR(255),
algorithm VARCHAR(50),
secret VARCHAR(255),
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);
- 配置PowerDNS使用mariadb作为后台数据存储
#查找到包含launch= 的行,修改并添加下面的内容
[102]$ vim /etc/pdns/pdns.conf
launch=gmysql #
gmysql-host=localhost #
gmysql-port=3306 #
gmysql-dbname=powerdns #
gmysql-user=powerdns #
gmysql-password=123 #
- 启动服务
systemctl start pdns
systemctl enable pdns
- 安装httpd和php相关包
yum -y install php-devel php-gd php-mcrypt php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mcrypt php-mhash gettext
- 启动服务
systemctl start httpd
systemctl enable httpd
- 下载poweradmin程序,
cd /var/www/html
wget http://downloads.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz
- 解压缩到相应目录
tar xvf poweradmin-2.1.7.tgz
mv poweradmin-2.1.7 poweradmin
设置下权限
setfacl -Rm u:apache:rwx poweradmin
- 访问下面地址,启动PowerAdmin的网页安装向导:
http://192.168.99.102/poweradmin/install/
选英语,下一步。下一步
提供先前配置的数据库详情,同时为Poweradmin设置管理员密码
- 为Poweradmin创建一个受限用户
标题 | 说明 |
---|---|
Username | PowerAdmin用户名 |
Password | 上述用户的密码 |
Hostmaster | 创建SOA记录指定默认主机管理员 |
Primary nameserver | 主域名服务器 |
Secondary namesever | 辅域名服务器 |
- 按照下面页面说明,在数据库中创建用户并授权,然后再下一步
[102]$ mysql
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON powerdns.* TO 'poweradmin'@'localhost' IDENTIFIED BY 'magedu';
- 按下面页面说明,修改config.in.php文件内容
[102]$ mv poweradmin/inc/config-me.inc.php poweradmin/inc/config.inc.php
[102]$ vim /var/www/html/poweradmin/inc/config.inc.php
18 $db_host = 'localhost';
19 $db_port = '3306';
20 $db_user = 'powerdns';
21 $db_pass = '123';
22 $db_name = 'powerdns';
23 $db_type = 'mysql';
...
26 $db_layer = 'PDO'; # or MDB2
...
30 $session_key = 'gKB$t5Qx%l!%$d+M~T$Hv+lABp$nNKKRe{7v}W3SMO0=kN';
...
34 $iface_lang = 'en_EN';
...
43 $dns_hostmaster = 'powerserver';
44 $dns_ns1 = '192.168.99.102';
45 $dns_ns2 = '192.168.99.102';
- 安装完毕后,删除install目录
[102]$ rm -rf /var/www/html/poweradmin/install/
- 登录http://powerdns服务器IP/poweradmin/
username:admin
password:123
这里登录不了提示:Error: You have to install PHP mcrypt extension
解决:
vim /etc/httpd/conf.modules.d/10-php.conf
...
5 <IfModule prefork.c>
6 LoadModule php5_module modules/libphp5.so
7 LoadModule php5_module modules/mcrypt.so
8 </IfModule>
ShCopy