编译lamp
  jnZtF7Co41Wg 2023年11月24日 17 0

关于报错信息如何看

这些关键字是编译器,程序里设置的关键字,代表着日志错误级别

error :严重及错误,程序是无法运行

warnging :警告,没那么太严重,不影响程序继续,但是你后续的使用,可能会有报错

info :输出程序正常日志的

一.新机器初始化的步骤

系统基础环境配置

1.配置最新的阿里云yum源

https://developer.aliyun.com/mirror/?spm=a2c6h.25603864.0.0.3d974ccaV0zX40

配置yum源

[root@localhost yum.repos.d]# yum -y install wget
[root@localhost ~]# cd /etc/yum
yum/         yum.conf     yum.repos.d/ 
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo          mysql-community-release-el7-5.noarch.rpm
CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo  mysql-community.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo    epel.repo                  mysql-community-source.repo
[root@localhost yum.repos.d]# rm -rf *
[root@localhost yum.repos.d]# ls


wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

清空yum缓存

[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache

2.关闭selinux,关闭firewalld

[root@localhost yum.repos.d]# grep -i 'selinux=' /etc/selinux/config
# SELINUX= can take one of these three values:
SELINUX=disabled
[root@localhost yum.repos.d]# systemctl stop firewalld
[root@localhost yum.repos.d]# systemctl disable firewalld

3.安装如下基础软件,就可以解决后面编译脚本的绝大多数错误问题了

yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel net-tools vim -y
yum install cmake make pcre-devel ncurses-devel openssl-devel libcurl-devel -y
yum install libxml2-devel  libjpeg-devel libpng-devel freetype-devel  libcurl-devel wget -y

二.编译mysql安装

1.mysql的安装规格说明

安装需求

软件版本 :  mysql-5.6.31

安装目录 :  /usr/local/mysql

数据目录 :  /usr/local/mysql/data        

端口:3306

2.创建mysql用户,用于给mysql的数据,进程,设置相关的user属主

-r 此参数是用来建立系统帐号

-s shell 使用者登入后使用的shell名称

[root@localhost ~]# useradd -r -s /sbin/nologin mysql
[root@localhost ~]# id mysql
uid=998(mysql) gid=996(mysql) groups=996(mysql)

3.创建一个指定的源码目录,下载对应软件

[root@localhost ~]# cd /usr/local ; mkdir software-mysql;cd software-mysql
[root@localhost software-mysql]# wget -c https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.6/mysql-5.6.50.tar.gz

查看源码,解压缩

[root@localhost software-mysql]# ls
mysql-5.6.50.tar.gz

解压缩,进入mysql源代码目录

[root@localhost software-mysql]# tar -zxf mysql-5.6.50.tar.gz 
[root@localhost software-mysql]# cd mysql-5.6.50
[root@localhost mysql-5.6.50]#

mysql-5.6这个源码包,没有提供configure配置脚本 ,却提供了另一种配置脚本,叫做cmake脚本,因此需要安装cmake这个命令才行

编译lamp_mysql

4.进行编译配置,安装定制化的操作创建编译脚本,注意是在mysql的源码目录下

下述的写法\是,多行转义成了一行,等于是多行拼接成了一行

[root@localhost mysql-5.6.50]# cat cmake.sh
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_USER=mysql

5.此时可以进行编译且安装了,最后一步 install才是生成数据文件夹的步骤,此过程很长

[root@localhost mysql-5.6.50]# cmake . \
[root@localhost mysql-5.6.50]# make && make install

编译lamp_mysql_02

6.配置mysql的PATH变量即可

[root@localhost ~]# tail -1 /etc/profile
export PATH=$PATH:/usr/local/mysql/bin/

想让他生效还得重新登录,或者手动source读取该文件配置

[root@localhost ~]# source /etc/profile
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin/

7.mysql客户端登录命令,这里还没启动所以报错了

[root@localhost ~]# mysql -uroot -p

linux的软件启动后,可以有2种形式提供客户端去访问

ip:port形式,如0.0.0.0:3306,网络连接方式

socket本地套接字文件形式, 本地进程套接字文件,启动mysql,提供它的本地连接进程文件,/tmp/mysql.sock,只要这个文件存在,你的mysql是启动的

8.修改mysql的文件权限,属主,属组

[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql/
[root@localhost ~]# ll /usr/local/mysql/
total 224
drwxr-xr-x.  2 mysql mysql   4096 Nov 21 03:45 bin
drwxr-xr-x.  3 mysql mysql     18 Nov 21 03:45 data
drwxr-xr-x.  2 mysql mysql     55 Nov 21 03:45 docs
drwxr-xr-x.  3 mysql mysql   4096 Nov 21 03:45 include
drwxr-xr-x.  3 mysql mysql   4096 Nov 21 03:45 lib
-rw-r--r--.  1 mysql mysql 198041 Sep 23  2020 LICENSE
drwxr-xr-x.  4 mysql mysql     30 Nov 21 03:45 man
drwxr-xr-x. 10 mysql mysql   4096 Nov 21 03:46 mysql-test
-rw-r--r--.  1 mysql mysql    587 Sep 23  2020 README
drwxr-xr-x.  2 mysql mysql     30 Nov 21 03:45 scripts
drwxr-xr-x. 28 mysql mysql   4096 Nov 21 03:46 share
drwxr-xr-x.  4 mysql mysql   4096 Nov 21 03:46 sql-bench
drwxr-xr-x.  2 mysql mysql    136 Nov 21 03:46 support-files

9.此时要对数据库初始化,生成必备的一些数据文件 ,mysql设置账号密码,得有一个库数据表存储

检查是否有旧的mysql数据文件残留,移除当前的mysql配置文件,/etc/my.cnf

[root@localhost ~]# mv /etc/my.cnf /etc/my.cnf.bak

使用初始化mysql数据命令操作 ,进入到mysql的安装目录,找到他的初始化数据,执行如下安装命令

[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# pwd
/usr/local/mysql
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql

10.因为是编译安装,需要手动创建启动脚本

[root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

此时使用service命令,会去读取/etc/init.d目录下的脚本文件,启动mysql

[root@localhost mysql]# service mysql start
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
 SUCCESS! 
[root@localhost mysql]# service mysql status
 SUCCESS! MySQL running (41308)
[root@localhost mysql]# netstat -tlunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1096/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1460/master         
tcp6       0      0 :::22                   :::*                    LISTEN      1096/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1460/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      41308/mysqld        
udp        0      0 0.0.0.0:68              0.0.0.0:*                           24171/dhclient

11.此时可以修改mysql的密码,用如下命令,注意语法

# -u -p参数后面不得有空格,是直接跟上用户名或者密码的

# -p 不写密码的话,会让你交互式输入密码

# password 跟上你的新的mysql密码

[root@localhost mysql]# /usr/local/mysql/bin/mysqladmin -uroot -p   password 'yiyuan123'
Enter password: 
Warning: Using a password on the command line interface can be insecure.

警告:在命令行上使用密码可能不安全

为了不让别人看到你的密码,请清空历史记录

[root@localhost mysql]# history -c
[root@localhost mysql]# history -w
[root@localhost mysql]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.50 Source distribution

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.50    |
+-----------+
1 row in set (0.00 sec)

mysql> exit
Bye

三.安装apache的依赖

  1. 安装依赖包apr,下载源码,且解压缩,然后编译安装即可
[root@localhost local]# pwd
/usr/local
[root@localhost local]# mkdir software-apache
[root@localhost local]# cd software-apache/
[root@localhost software-apache]# wget -c http://archive.apache.org/dist/apr/apr-1.5.2.tar.bz2
[root@localhost software-apache]# ls
apr-1.5.2.tar.bz2
[root@localhost software-apache]# tar -xf apr-1.5.2.tar.bz2 
[root@localhost software-apache]# ls
apr-1.5.2  apr-1.5.2.tar.bz2

对apr软件进行编译配置

可能由于其1.5.2的bug存在一个配置错误,需要修改如下的一个配置参数(29605行)

[root@localhost apr-1.5.2]# vim configure
29605     RM='$RM -f'
###配置环境、编译、安装
[root@localhost apr-1.5.2]# ./configure  &&  make  &&  make  install

2.再编译安装一个apache必须的基础库apr-util

[root@localhost apr-1.5.2]# pwd
/usr/local/software-apache/apr-1.5.2
[root@localhost apr-1.5.2]# cd ../
[root@localhost software-apache]# wget -c https://archive.apache.org/dist/apr/apr-util-1.5.4.tar.bz2
[root@localhost software-apache]# ll
total 1492
drwxr-xr-x. 28 1000 1000   4096 Nov 21 23:05 apr-1.5.2
-rw-r--r--.  1 root root 826885 Apr 29  2015 apr-1.5.2.tar.bz2
-rw-r--r--.  1 root root 694427 Sep 20  2014 apr-util-1.5.4.tar.bz2
[root@localhost software-apache]# tar -xf apr-util-1.5.4.tar.bz2 

开始进行配置动作、编译、安装

[root@localhost software-apache]# ls
apr-1.5.2  apr-1.5.2.tar.bz2  apr-util-1.5.4  apr-util-1.5.4.tar.bz2
[root@localhost software-apache]# cd apr-util-1.5.4
[root@localhost apr-util-1.5.4]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost apr-util-1.5.4]# make && make install

3.此时apr和apr-util这俩工具就生成了一些基础的linux文件,你需要告诉linux系统,多了一些这些工具,linux才能够读取到他们的信息,然后apache才能用

把编译安装的apr工具,写入系统的动态库配置文件中,然后更新这些基础动态库即可

[root@localhost apr-util-1.5.4]# $echo "/usr/local/apr/lib/" >> /etc/ld.so.conf

执行ldconfig命令,让linux能找到你安装的这个apr即可

[root@localhost apr-util-1.5.4]# ldconfig 

四.编译apache

开始编译

1.下载源码,解压缩

[root@localhost software-apache]# wget -c https://archive.apache.org/dist/httpd/httpd-2.4.37.tar.bz2
[root@localhost software-apache]# tar -xf httpd-2.4.37.tar.bz2

2. 配置脚本,由于参数过多,写成sh文件 ,apache或者nginx都提供了模块的概念,所有的功能都是以模块,插件的形式提供的

如果你不装插件,就缺少某个功能

[root@localhost software-apache]# cd httpd-2.4.37
[root@localhost httpd-2.4.37]# cat config.sh
./configure \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite \
--with-pcre \
--enable-ssl \
--with-mpm=prefork \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr/bin/apu-1-config

[root@localhost httpd-2.4.37]# ll config.sh
-rw-r--r--. 1 root 40 241 Nov 22 01:25 config.sh
[root@localhost httpd-2.4.37]# chmod +x config.sh
[root@localhost httpd-2.4.37]# ll config.sh
-rwxr-xr-x. 1 root 40 241 Nov 22 01:25 config.sh

3.执行该脚本,开始配置

[root@localhost httpd-2.4.37]# ./config.sh

4. 编译且安装

[root@localhost httpd-2.4.37]# make && make install

5.检查apache的安装路径

[root@localhost httpd-2.4.37]# ls /usr/local/apache2/
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules
[root@localhost httpd-2.4.37]# ls /usr/local/apache2/bin
ab         apxs      dbmmanage  envvars-std  htcacheclean  htdigest  httpd      logresolve
apachectl  checkgid  envvars    fcgistarter  htdbm         htpasswd  httxt2dbm  rotatelogs

6.修改apache的配置文件,加载php的模块 ,找到conf文件夹apache的配置在这了

[root@localhost httpd-2.4.37]# ls /usr/local/apache2/conf
extra  httpd.conf  magic  mime.types  original

五.编译安装php

1.安装解压php

[root@localhost software-php]# pwd
/usr/local/software-php
[root@localhost software-php]# wget -c https://museum.php.net/php7/php-7.2.17.tar.xz
[root@localhost software-php]# tar -xf php-7.2.17.tar.xz
[root@localhost software-php]# ll
total 11864
drwxrwxr-x. 14 root root     4096 Apr  2  2019 php-7.2.17
-rw-r--r--.  1 root root 12144120 Apr  3  2019 php-7.2.17.tar.xz
[root@localhost software-php]# cd php-7.2.17

2.配置编译过程

./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysqli \
--with-pdo-mysql \
--with-zlib \
--with-curl \
--enable-zip \
--with-gd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-opcache \
--enable-mbstring \
--enable-mbregex \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-calendar \
--enable-bcmath

3.开始编译、且安装

[root@localhost php-7.2.17]# make && make install

六.apache和php的结合

主配置文件路径

[root@localhost ~]# cd /usr/local/apache2/
[root@localhost apache2]# vim conf/httpd.conf 

1.修改apache配置文件httpd.conf,找到你的安装路径

配置语言支持
159 LoadModule negotiation_module modules/mod_negotiation.so 去掉这一行的注释
482 Include conf/extra/httpd-languages.conf 打开此选项,扩展配置文件就生效了

让apache支持php语言的插件,当有用户访问php程序时,apache自动转发给php程序去解析。
166 LoadModule php7_module        modules/libphp7.so   找到这一行,然后在下面添加语句

添加以下两行意思是以.php结尾的文件都认为是php程序文件,注意两句话的.php前面都是有一个空格的
也就是长这样
166 LoadModule php7_module        modules/libphp7.so
167 AddHandler php7-script .php
168 AddType text/html .php


添加一个默认的网站首页,添加为php的文件
263 #
264 # DirectoryIndex: sets the file that Apache will serve if a directory
265 # is requested.
266 #
267 <IfModule dir_module>
268     DirectoryIndex index.php index.html
269 </IfModule>
270

关于网站默认的首页html文件,存放的目录路径,由以下参数控制
230 # DocumentRoot: The directory out of which you will serve your
231 # documents. By default, all requests are taken from this directory, but
232 # symbolic links and aliases may be used to point to other locations.
233 #
234 DocumentRoot "/usr/local/apache2/htdocs"
235 <Directory "/usr/local/apache2/htdocs">

2.修改apache 的子配置文件,语言conf

[root@localhost apache2]# vim conf/extra/httpd-languages.conf
19 DefaultLanguage zh-CN

 75 # Just list the languages in decreasing order of preference. We have
 76 # more or less alphabetized them here. You probably want to change this.
 77 #
 78 LanguagePriority zh-CN en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW

3.启动apache

生成apache的执行命令

cp /usr/local/apache2/bin/apachectl /etc/init.d/apache

启动,如果你要创建apache的systemctl管理脚本,可以用另一台机器,yum install httpd  ,查看yum生成的httpd.service脚本,然后模仿该脚本写法,修改你编译的http路径即可

service apache start
[root@localhost apache2]# netstat -tunlp |grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      86531/httpd         

4.查看apache是否支持php

[root@localhost htdocs]# pwd
/usr/local/apache2/htdocs
[root@localhost htdocs]# cat index.php
一原加油,卷四他们
<?php
    phpinfo();
?>

在网页中打开192.168.106.30/index.php,看到如下画面,说明成功了,至此,lamp的linux环境就准备好了

编译lamp_apache_03

七.安装woredpress博客

1.准备woredpress源码,放入apache的网页目录即可

开发给了一个php的源码,放入到一个部署好的lamp机器上就好了

[root@localhost woredpress]# wget -c https://cn.wordpress.org/wordpress-4.7.3-zh_CN.tar.gz
[root@localhost woredpress]# tar -zxvf wordpress-4.7.3-zh_CN.tar.gz 

2.解压缩该源码,放入到httpd的网页根目录中去

[root@localhost woredpress]# mv wordpress/*  /usr/local/apache2/htdocs/

3.修改wordpress源码文件的属主、属组,防止权限有问题

chown -R daemon.daemon /usr/local/apache2/htdocs/

4.访问博客的方式:IP/wp-admin

八.访问wordpress,查看博客安装

1.博客需要写入数据库,wordpress,需要你先创建这个数据库 ,登录数据库操作

[root@localhost woredpress]# mysql -uroot -p
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.02 sec)

2.创建wordpress数据库

mysql> create database wordpress default charset utf8;
Query OK, 1 row affected (0.01 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| wordpress          |
+--------------------+
5 rows in set (0.00 sec)

用户访问 wenjie.top/index.php > lamp的linux服务器

apache(index.php) >

php (处理wordpress程序) >

mysql(用户数据,博客文章数据)

3.最后可以使用博客了

编译lamp_CentOS_04

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月24日 0

暂无评论

推荐阅读
  eHipUjOuzYYH   2023年12月10日   12   0   0 mysqlsqlUser
  wwLZeziuqjLR   2023年12月11日   15   0   0 Dockercentos
  9JCEeX0Eg8g4   2023年12月10日   14   0   0 应用程序javaApache
  LE2wsiBPlOhg   2023年12月06日   15   0   0 Dockercentos
  wwLZeziuqjLR   2023年12月08日   66   0   0 Dockercentosbash
  wwLZeziuqjLR   2023年12月07日   16   0   0 Dockercentos
  wwLZeziuqjLR   2023年12月06日   17   0   0 abTime数据centos
  9JCEeX0Eg8g4   2023年12月11日   19   0   0 mysql配置文件