LAMP环境搭建

LAMP配置

apache配置图

image-20210309190714328

Mysql安装配置

  • /usr/local/src 软件包全放在这里面方便管理

  • 下载 mysql压缩包 wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz

  • tar -zxvf 压缩包 进行解压

  • 安装和配置 添加一个mysql用户 useradd -s /sbin/nologin mysql 建立MySQL用户,因为启动MySQL需要该用户,/sbin/nologin用户无法使用bash或其他shell来登陆系统

  • mkdir -p /data/mysql 创建数据文件 mysql的数据信息存在 这里 datadir

  • chown -R mysql:mysql /data/mysql 更改文件所属用户和用户组

  • [ -d /usr/local/mysql ] && mv /usr/local/mysql /usr/local/mysql_old&&相当于一个判断,意前面命令执行才会执行后面

  • mv mysql-5.6.39-linux-glibc2.12-x86_64 /usr/local/mysql 移动位置

  • cd /usr/local/mysql

  • ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql指定mysql的用户名和数据信息目录

image-20210308102230385

  • 如果出现错误 安装 yum install -y perl perl-devel autoconf
  • cp support-files/my-default.cnf /etc/my.cnf 因为系统默认就有/etc/my.cnf,所以会提示是否覆盖,直接按“y”即可
  • 修改配置文件 my.ini basedir 是mysql包所在的位置 datadir是mysql数据包所在的位置 port 是mysql监听的端口号 server_id是mysql服务的id socket我t定 义MySQL服 务 监 听的套接字地址,在Linux系统下面,很多服务不仅可以监听一个端口(通过TCP/IP的方式通信),也可以监听socket,两个进程就可以通过这个socket文件通信。

image-20210309195824150

  • cp support-files/mysql.server /etc/init.d/mysql 复制启动脚本 并修改其属性

  • chmod 755 /etc/init.d/mysql 赋予启动文件权限

  • 编辑启动文件 vi /etc/init.d/mysql 修改启动脚本的basedir 和 datadir

basedir=/usr/local/mysql
datadir=/data/mysql
  • 将mysql添加到服务 chkconfig --add mysql

  • chkconfig mysql on 开机启动mysql

  • service mysql start 启动mysql服务

image-20210308102904058

  • yum install net-tools 安装依赖

  • netstat -ltunp |grep 3306 根据端口号 抓取mysql服务

image-20210310080530224

Apache搭建

  • 下载httpd-2.4.46.tar.gz、apr-1.6.5.tar和apr-util-1.6.1.tar

  • 然后分别进行解压 tar -zxvf

  • cd /usr/local/src/apr-1.6.5

  • ./configure --prefix=/usr/local/apr为编译做准备 指定安装目录 必须安装gcc c语言环境

  • 如果报错“rm: cannot remove 'libtoolT': No such file or directory”

  • vi configure 将RM='$RM'改为RM='$RM -f'

  • 编译安装 apache make && make install

  • cd /usr/local/src/apr-util-1.6.1.

  • yum install expat-devel

  • ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr 指定安装目录 关联apr

  • make &&make install 编译安装

  • cd /usr/local/src/httpd-2.4.46

  • yum install -y pcre pcre-devel

  • ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most //--perefix指定安装目录//--enable-so表示启用DSO //--enable -mods- shared表示以共享形式安装模块

  • 编译安装 make && make install

  • 如果报错“collect2: error: ld returned 1 exit status make[2]: *** [htpasswd] Error 1”

    • cd /usr/local/src/
    • cp -r apr-1.6.5 /usr/local/src/httpd-2.4.46/srclib/apr 复制 apr到httpd中
    • cp -r apr-util-1.6.1 /usr/local/src/httpd-2.4.46/srclib/apr-util

    • 如果还是不行,重新执行configure命令,添加一个编译参数:--with-included-apr再执行make clean all

      make && make install

  • /usr/local/apache2.4/bin/apachectl -M 查看配置文件

    • -M查看配置文件有哪些文件

      //share字样的动态共享模块,static以静态形式存在

image-20210308144750627

安装PHP

  • 下载资源包 tar
  • tar -zxvf进行解析
  • yum install -y libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel epel-release libmcrypt-devel libjpeg-turbo libjpeg-turbo-devel
  • yum install -y libmcrypt-devel 提前安装库文件
  • cd php-5.6.30
  • yum install bzip2-devel.x86_64 -y
  • ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
  • make && make install 编译安装

httpd解析php

  • vim /usr/local/apache2.4/conf/httpd.conf 编辑主配置文件
  • 搜索ServerName,把ServerName www.example.com:80前#去掉 ServerName提供服务器用来标识自身的名称和端口。
  • 将文档中的
<Directory />
    AllowOverride none
    Require all denied
</Directry>

修改为

<Directory />
    AllowOverride none
    Require all granted  # 允许所有请求访问
</Directory>
  • 搜索AddType application/x-gzip .gz .tgz,在下面添加一行 AddType application/x-httpd-php .php

  • <IfModule dir_module>
      DirectoryIndex index.html 
    </IfModule>
    

    给为

    <IfModule dir_module>
        DirectoryIndex index.html index.php
    </IfModule>
    
  • 测试安装 /usr/local/apache2.4/bin/apachectl -t

  • /usr/local/apache2.4/bin/apachectl start 启动httpd

image-20210308155444282

  • curl localhost

image-20210308155427046

  • vim /usr/local/apache2.4/htdocs/1.php

image-20210308155632837

  • curl localhost/1.php

image-20210308155659075

  • 安装成功

Apache配置

默认虚拟主机

​ 虚拟主机(共享主机,又称虚拟服务器)是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。虚拟主机之间完全独立,并可由用户自行管理,虚拟并非指不存在,而是指空间是由实体的服务器延伸而来,其硬件系统可以是基于服务器群,或者单个服务器。

  • 编辑httpd.conf搜索httpd-vhosts,去掉#号

  • vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 编辑虚拟主机配置文件

    • <VirtualHost *:80>
          # 指定管理员 邮箱
          ServerAdmin webmaster@dummy-host.example.com  
          # 为该虚拟主机站点的根目录
          DocumentRoot "/usr/local/apache2.4/docs/abc.com"
          # 服务名 站点域名
          ServerName abc.com
          # 站点的第二域名
          ServerAlias www.abc.com aaa.com
          # 错误日志存储的目录
          ErrorLog "logs/abc.com-error_log"
          # 访问日志 
          CustomLog "logs/abc.com-access_log" common
      </VirtualHost>
      
      <VirtualHost *:80>
          DocumentRoot "/usr/local/apache2.4/docs/111.com"
          ServerName 111.com
          ErrorLog "logs/111.com-error_log"
          CustomLog "logs/111.com-access_log" common
      </VirtualHost>
      
      
  • 在apache下建立 虚拟主机目录 docs mkdir docs

  • mkdir abc.com

  • vi abc.com/index.html 写入abc.com

  • mkdir 111.com 写入 111.com

  • /usr/local/apache2.4/bin/apachectl -t 测试是否正确

  • /usr/local/apache2.4/bin/apachectl graceful 刷新配置

  • curl -xlcoalhost:80 www.abc.com 测试

image-20210308161353428

image-20210308161411678

image-20210308161453899

posted @ 2021-03-10 09:19  錵開や落幕  阅读(78)  评论(0编辑  收藏  举报