前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LAMP环境 源码包安装

LAMP环境 源码包安装

作者头像
botkenni
发布2022-01-10 11:30:42
1.4K0
发布2022-01-10 11:30:42
举报
文章被收录于专栏:IT码农IT码农

linux的学习很早就开始了,大学的时候的时候有有学过unix,后来每年都有去看看linux,因为在小城市的缘故,很少会实际工作中用到,基本都是智慧云之类的,同事也说,你学起来也用不上,IT生态不好,没用!可是自己心里一直有想去学linux,于是这次下决心自己搭建一个lamp环境,记录下来,当做学习笔记。

在网上搜索的lamp环境的资料,很多都是yum的,或者是老资料,为了让自己多敲几段命令,所以选择了源码包的方式。说真的,对于我这种初学者来说,较新版的源码包哪怕是有一点点的安装配置的不一样,可能都要很久才能解决。

所以,为了搭建这个lamp环境,自己反反复复,一点点的比对资料,一点点尝试,不下10遍了。心想,网上怎么就没有目前比较新的,让初学者跟着做很方便搭建出来的分享教程呢?想想自己的总算搭建出来了,分享出来,希望能帮到跟我一样linux的初学者吧。

看网上的教程,千篇一律,你复制我的,我复制你的,作者写点自己的话,都懒的不行。

我希望的教程的逻辑是这样的:安装前言前提->编译安装->配置实现->收尾,看到网上那些把配置的命令,直接紧随安装编译的命令之后,一会儿那里一段命令,一会儿这里一段命令,想到该敲什么命令就敲什么命令,看的乱七八糟的的,而且我想学李明老师那样,弄个sh脚本都会很麻烦。我说这话,没觉得我有多心气儿高,只是把自己学习搭建lamp环境里遇到的网上那些教程的不爽写出来,何况我只是个初学者,哪里有气儿可傲的,而且分享这个我的lamp,我还心虚呢。

我是在虚拟机(vmware)里搭建的,方法比较笨哦。嘿嘿。

如果你跟我一样,是初学的朋友,也想用比较新的源码包的方式搭建一个自己的lamp环境,跟着我这个做,说不定能帮到你。

VMware搭建lamp环境(centos6.5) 安装好centos后,需要进行网络环境配置 三种网络连接方式: 1桥接,使用真实网卡和你的计算机通信,ip配置成和真实机配置成相同的网段,就可以和你的计算机以及局域网内的其它计算机通信,相当于局域网里的一台真实计算机。 2NAT,虚拟机通过VMnet8这块假网卡和你的j计算机进行通信。(只能和你的计算机通信,不占用局域网ip) 3Host-only,虚拟机通过VMnet1这块假网卡和你的计算机进行通信。(只能和你的计算机通信,不占用局域网ip)

为了局域网里其他计算机可以访问我的虚拟服务器,故我使用桥接方式 虚拟机的ip网段必须和使用的网卡的网段一样(使用哪种网络连接方式,就会使用哪个网卡)

安装之前:

1,建立目录

代码语言:javascript
复制
cd /
mkdir -p /lamp/sh  /lamp/tar_gz  /lamp/backup

/lamp/tar_gz放置源码包 /lamp/sh 放置sh脚本 /lamp/backup放置编译安装日志

2,

代码语言:javascript
复制
yum -y install gcc gcc-c++

3,

代码语言:javascript
复制
vim /etc/sysconfig/selinux

里面的对应的编辑成

代码语言:javascript
复制
SELINUX=disabled

4,

把下载到自己电脑的所有源码包上传到/lamp/tar_gz

5,

代码语言:javascript
复制
cd /lamp/sh
vim auto-zxvf.sh

拷贝如下代码到auto-zxvf.sh(如果是用了windows编辑器打开过,再上传的,会出错)

代码语言:javascript
复制
#!/bin/bash
cd /lamp/tar_gz
ls *.tar.gz > ls.list
for TAR in `cat ls.list`
do    
           tar -zxvf $TAR
done

然后保存(wq),然后敲命令

代码语言:javascript
复制
bash auto-zxvf.sh

执行了上面的shell后,cd /lamp/tar_gz里,可以看到解压解包后的文件

开始安装

安装apache:

代码语言:javascript
复制
#需要先安装apache所需的apr,apr-util,pcre,zlib

cd /lamp/tar_gz/apr-1.4.5
./configure --prefix=/usr/local/apr/
make
make install  > /lamp/backup/apr.install.log

cd /lamp/tar_gz/apr-util-1.3.12
./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/
make
make install  > /lamp/backup/apr-util.install.log


cd /lamp/tar_gz/pcre-8.32
./configure --prefix=/usr/local/pcre/
make
make install  > /lamp/backup/pcre.install.log


cd /lamp/tar_gz/zlib-1.2.8
./configure
make
make install > /lamp/backup/zlib.install.log


cd /lamp/tar_gz/httpd-2.4.10
./configure  --prefix=/usr/local/apache2  --enable-so  --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre --enable-modules=most 
make
make install > /lamp/backup/apache2.install.log

安装mysql

代码语言:javascript
复制
#MySQL自5.5版本以后,就开始使用cmake编译工具了
#mysql安装前所需包 cmake,ncurses,bison



cd /lamp/tar_gz/cmake-2.8.5
./configure --prefix=/usr/local/cmake/
make
make install  > /lamp/backup/cmake.install.log

#执行此步骤,否则会提示-bash: cmake: command not found
export PATH=/usr/local/cmake/bin:$PATH



cd /lamp/tar_gz/ncurses-5.7
./configure --with-shared --without-debug --without-ada --enable-overwrite
make 
make install  > /lamp/backup/ncurses.install.log


cd /lamp/tar_gz/bison-3.0
./configure
make
make install  > /lamp/backup/bison.install.log



groupadd mysql
useradd -g mysql mysql
cd /lamp/tar_gz/mysql-5.6.22


cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql \
-DMYSQL_TCP_PORT=3306

make
make install > /lamp/backup/mysql.install.log

安装php

代码语言:javascript
复制
#这个步骤死活出错,后来网上查找了很多方案,结果just add "--without-zlib" 就可以了
cd /lamp/tar_gz/libxml2-2.6.30
./configure --prefix=/usr/local/libxml2/  --without-zlib
make && make install > /lamp/backup/libxml2.install.log


cd /lamp/tar_gz/libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt/
make 
make install > /lamp/backup/libmcrypt.install.log



cd /lamp/tar_gz//libpng-1.6.16
./configure --prefix=/usr/local/libpng/
make
make install  > /lamp/backup/libpng.install.log


#李明老师的教程和其它网上的2013年后的教程都要建立某些文件夹,可能是jpeg6的版本缘故,此处我的用不着新建
cd /lamp/tar_gz/jpeg-9a
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make
make install  > /lamp/backup/jpeg.install.log


cd /lamp/tar_gz/freetype-2.5.5
./configure --prefix=/usr/local/freetype/
make
make install > /lamp/backup/freetype.install.log


cd /lamp/tar_gz/autoconf-2.69
./configure
make 
make install > /lamp/backup/autoconf.install.log

cd /lamp/tar_gz/gd-2.0.35
./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg/ --with-freetype=/usr/local/freetype/
make
make install  > /lamp/backup/gd2.install.log

cd /lamp/tar_gz/php-5.5.21
#不要写成这样:--with-apxs2=/usr/local/apache2/bin/apxs/最后多了一个斜杠就表示目录,会出错 
./configure --prefix=/usr/local/php/ --with-libxml-dir=/usr/local/libxml2/ --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc
make
make install  > /lamp/backup/php.install.log

注:可以把上面(apache,mysql,php的安装)的代码,全部拷贝在一个sh文件里,如auto-make-install.sh,该文件可以放在/lamp/sh里。 然后只需要敲打命令:bash auto-make-install.sh ,让源文件全部自动的编译安装,然后你就可以去看看小电影,聊聊天了

安装好了之后开始配置

配置apache

代码语言:javascript
复制
#开机启动
echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
#编辑配置文件
#httpd.conf如果在安装apache的时候,没有指定配置文件的路径,那么就使用默认的配置文件,此处根据情况使用
vim /usr/local/apache2/conf/httpd.conf
#去掉注释并改为  
ServerName localhost:80

#在搜索AddType,在适当位置增加
AddType application/x-httpd-php .php .phtml
#以下处,增加一个index.php,
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
#路径,根据个人情况决定是否修改
DocumentRoot "/usr/local/apache2/htdocs" 

:wq保存退出

#启动看看
/usr/local/apache2/bin/apachectl start

配置mysql

代码语言:javascript
复制
#改变mysql目录所有者,所属组,以及所属组增加w权限
chown -R mysql:mysql /usr/local/mysql 
chmod +w /usr/local/mysql

#初始化mysql表、test表、infomation表等。
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

#拷贝覆盖配置文件
\cp -f my.cnf /etc/my.cnf
#编辑配置
vim /etc/my.cnf
#查找并修改
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
port = 3306
server_id = 1

:wq保存退出

#复制启动文件到启动目录,并且编辑启动文件
cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/init.d/mysqld

#查找并修改
basedir=/usr/local/mysql 
datadir=/usr/local/mysql/data

:wq保存退出

#把启动mysql控制台的命令,生成一个软连接,放到/usr/bin目录下,这样我们只要输入mysql就可以启动mysql控制台了
ln -s /usr/local/mysql/bin/mysql /usr/bin

#开启mysql服务
service mysqld start(据说是redhat才有)或者/etc/init.d/mysqld start

php配置

代码语言:javascript
复制
cd /lamp/tar_gz/php-5.5.21/
cp php.ini-development /usr/local/php/etc/php.ini

最后

代码语言:javascript
复制
/usr/local/apache2/bin/apachectl restart

最后在vim /usr/local/apache2/htdocs/phpinfo.php 写入<?php echo phpinfo(); ?> 保存并浏览看看吧。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022/阅读数 44,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档