LAMP(二)_常见应用布署

By | 2019年 11月 23日

常见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

  1. 安装相关及启动服务
yum -y install httpd mariadb-server php php-mysql php-mbstring
systemctl start httpd
systemctl start mariadb
  1. mysql数据库的安全初始化
mysql_secure_installation
  1. 下载phpmyadmin
    >https://www.phpmyadmin.net/downloads/
    不同版本有不同php版本的要求,下载前请注意
wget https://files.phpmyadmin.net/phpMyAdmin/4.4.15/phpMyAdmin-4.4.15-all-languages.tar.xz
  1. 解压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. 配置
#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! */
  1. 这样就可以登录了

实验: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
  1. 安装mysql然后启动
[102]$ yum install mariadb-server
[102]$ systemctl start mariadb
  1. 新建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
  1. 安装http、php
[101]$ yum -y install httpd mariadb-server php php-mysql php-mbstring
  1. 启动服务
[101]$ systemctl start httpd
  1. 下载
[101]$ wget https://cn.wordpress.org/wordpress-5.0.4-zh_CN.tar.gz
  1. 解压缩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就可以了
#也可以看下面手动配置
  1. 拷贝配置
[101]$ cd wordpress
[101]$ cp wp-config-sample.php wp-config.php
  1. 修改配置
[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');
  1. 移动到网站目录下
[101]$ cd ..
[101]$ mv wordpress /var/www/html/
  1. 注意wordpress目录权限
[101]$ cd /var/www/html/
[101]$ setfacl -R -m u:apache:rwx wordpress/
  1. 可以了

实验: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
  1. 安装mysql然后启动
[102]$ yum install mariadb-server
[102]$ systemctl start mariadb
  1. 新建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
  1. 安装http、php
[101]$ yum -y install httpd mariadb-server php php-mysql php-mbstring
  1. 启动服务
[101]$ systemctl start httpd
  1. 下载
[101]$ wget http://download.comsenz.com/DiscuzX/3.3/Discuz_X3.3_SC_UTF8.zip
  1. 解压缩discuz
[101]$ unzip Discuz_X3.3_SC_UTF8.zip
  1. 移动到网站目录下
[101]$ cd ..
[101]$ mv upload /var/www/html/forum
  1. 注意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/

  1. 安装包:基于EPEL源
yum install -y pdns pdns-backend-mysql
  1. 安装相关及启动服务
yum -y install httpd mariadb-server php php-mysql php-mbstring
systemctl start httpd
systemctl start mariadb
  1. 准备mariadb中的数据库,表和用户
[102]$ mysql

MariaDB [(none)]> CREATE DATABASE powerdns;
MariaDB [(none)]> GRANT ALL ON powerdns.* TO 'powerdns'@'localhost' IDENTIFIED BY '123';
  1. 创建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);
  1. 配置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  #
  1. 启动服务
systemctl start pdns
systemctl enable pdns
  1. 安装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
  1. 启动服务
systemctl start httpd
systemctl enable httpd
  1. 下载poweradmin程序,
cd /var/www/html
wget http://downloads.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz
  1. 解压缩到相应目录
tar xvf poweradmin-2.1.7.tgz
mv poweradmin-2.1.7 poweradmin

设置下权限

setfacl -Rm u:apache:rwx poweradmin
  1. 访问下面地址,启动PowerAdmin的网页安装向导:
    http://192.168.99.102/poweradmin/install/
    选英语,下一步。下一步

提供先前配置的数据库详情,同时为Poweradmin设置管理员密码

  1. 为Poweradmin创建一个受限用户
标题说明
UsernamePowerAdmin用户名
Password上述用户的密码
Hostmaster创建SOA记录指定默认主机管理员
Primary nameserver主域名服务器
Secondary namesever辅域名服务器
  1. 按照下面页面说明,在数据库中创建用户并授权,然后再下一步
[102]$ mysql

MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON powerdns.* TO 'poweradmin'@'localhost' IDENTIFIED BY 'magedu';
  1. 按下面页面说明,修改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';
  1. 安装完毕后,删除install目录
[102]$ rm -rf /var/www/html/poweradmin/install/
  1. 登录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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注