Linux新手入门之轻松配置PHP环境
Admin 2023-02-02 群英技术资讯 304 次浏览
本想轻松顺利的看到phpinfo显示在我的页面上,没想到安装环境时一路的error,不停的google折腾了半天终于看到了phpinfo。在此把遇到的问题总结一下,给大家提供一个参考。
我的OS是ubuntu 9.10,得益于apt-get强大的功能参考了一下这篇文章http://wiki.ubuntu.org.cn/index.php?title=Apache&variant=zh-cn#.E5.AE.89.E8.A3.85LAMP,轻松的完成了LAMP的搭建。
来手痒痒的不行,把环境全删了重新用源码包搭建了一遍。步骤如下:
(由于用非root账户登录,在需要root权限时用sudo执行)
一、build-essential的安装
# bulid-essential是编译源码包(C/C++程序)所需的编译工具
# ubuntu 下默认没有安装,ubuntu下可以执行sudo apt-get install build-essential
安装包 build-essential_11.4.tar.gz
# 安装命令
tar -zxvf build-essential_11.4.tar.gz
cd build-essential-11.4
./configure
make
sudo make install
make clean
二、MySql的安装
step.1
ncurses的安装
# 如果缺少ncurses包mysql编译会报No curses/termcap library found的错误
安装包 ncurses-5.6.tar.gz
tar -zxvf ncurses-5.6.tar.gz
cd ncurses-5.6
./configure --prefix=/usr/local/ncurses --with-shared --without-debug --enable-widec
make
sudo make install
make clean
step.2
mysql的安装
安装包 mysql-5.1.42.tar.gz
step.a
# 安装命令
tar -zxvf mysql-5.1.42.tar.gz
cd mysql-5.1.42
./configure --prefix=/usr/local/mysql --with-named-curses-libs=/usr/local/ncurses/lib/libncursesw.so.5.6 --with-charset=gbk
# --prefix=/usr/local/mysql mysql的安装路径
# 关于mysql配置文件路径的说明:mysql按照下列顺序搜索my.cnf
# /etc,mysql安装目录如 /usr/local/mysql/etc,安装目录下的data目录如 /usr/local/mysql/data,以最先找到的为准。/etc下my.cnf的配置是全局设置
# --with-named-curses-libs=/usr/local/ncurses/lib/libncursesw.so.5.6 ncurses库文件安装路径
# --localstatedir=/usr/local/mysql/var 数据库默认存放路径(可以设置其它路径如,/var/lib/mysql)
# --with-charset=gbk 设置数据库支持中文字符集
make
sudo make install
step.b
# 拷贝mysql配置文件到目标目录/usr/local/mysql/etc
# 新建/usr/local/mysql/etc目录(该目录没有自动创建)
sudo mkdir /usr/local/mysql/etc
sudo cp support-files/my-medium.cnf /usr/local/mysql/etc/my.cnf
# 删除安装产生的临时文件(一定要在拷贝完配置文件后在执行,不然my-medium.cnf会被删除)
make clean
step.c
# 添加一个名为mysql的linux系统群组(可以参考mysql手册2.8.1. 源码安装概述)
sudo groupadd mysql
# 新建一个名为mysql的linux系统用户,并将其添加到mysql系统群组中
# 如果Linux只启动命令行界面,可以用下面的操作添加需要的账户
# sudo useradd -M -s /bin/false -g mysql mysql
# -M 该选项不会建立用户目录
# -s 指定新建用户使用的shell,/bin/false表示该用户不能登录系统
# -g mysql 将用户mysql添加到组mysql中
# 我现在用的时桌面系统,用如上命令添加账户。系统启动时在登录界面会显示mysql用户虽然它不登录
# 改用下面命令,mysql账户就不会显示在登录界面了
sudo useradd -r -s /bin/false -g mysql mysql
# -r 建立系统账户,不创建用户目录,用户分配的uid小于1000
step.d
# 创建mysql授权表
# 如果用root运行命令,应当使用--user选项。选项的值应与你在stpe.czz中创建的登录账户相同。如果用该用户登录来运行命令,可以省略--user选项
sudo /usr/local/mysql/bin/mysql_install_db --user=mysql
step.e
# 进入mysql的安装目录(/usr/local/mysql)
cd /usr/local/mysql
# 将文件的所有属性改为root用户
sudo chown -R root .
# 将数据目录的所有属性改为mysql用户(即在step.c中创建的用户)
sudo chown -R mysql var
# 将组属性改为mysql组
sudo chgrp -R mysql .
step.f
# 启动mysql服务
sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
# 登录数据库
/usr/local/mysql/bin/mysql -uroot
mysql安装完成了
三、Apache的安装
# 使用DSO动态编译,关于动态编译与静态编译的区别可以参考http://www.ha97.com/2612.html
安装包 httpd-2.2.14.tar.gz
tar -zvxf httpd-2.2.14.tar.gz
cd httpd-2.2.14
./configure --prefix=/usr/local/apache --enable-mods-shared=most --enable-so
# --prefix=/usr/local/apache 将apache安装到/usr/local/apache路径
# --enable-mods-shared=most 将所有标准模块都动态编译为DSO模块
# --enable-so apache核心装载DSO,但是不实际编译任何动态模块
make
make install
make clean
# 启动apache
sudo /usr/local/apache/bin/apachectl start
# 打开浏览器输入浏览器会看到It works!
apache安装完成了
四、PHP的安装
step.1
freetype的安装
安装包 freetype-2.3.11.tar.gz
# 安装命令
tar -zxvf freetype-2.3.11.tar.gz
cd freetype-2.3.11
./configure --prefix=/usr/local/freetype
make
sudo make install
make clean
step.2
zlib的安装
安装包 zlib-1.2.3.tar.gz
# 安装命令
tar -zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
sudo make install
make clean
# 安装时更改过zlib的安装目录如/usr/local/zlib,改后libpng的安装也成功了,当是到安装gd库时一直失败,不得已又把zlib安装到默认路径,后边才顺利通过
step.3
libpng的安装
安装包 libpng-1.4.0.tar.gz
# 安装命令
tar -zxvf libpng-1.4.0.tar.gz
cd libpng-1.4.0
./configure --prefix=/usr/local/libpng
make
sudo make install
make clean
# 很多人这样操作 cp scripts/makefile.std makefile 代替了./configure (两者区别有待查证)
step.4
jpeg的安装
安装包 jpegsrc.v7.tar.gz
# 安装命令
tar -zxvf jpegsrc.v7.tar.gz
cd jpeg-7
./configure --prefix=/usr/local/jpeg7
make
sudo make install
make clean
# 很多人手动建立 jpeg的目录结构不知道是因为不同还是有其它原因(有待查证)
# 以上包都是gd库所需要的组成库,下面安装gd库
step.5
gd库的安装
安装包 gd-2.0.35.tar.gz
# 安装命令
step.a
tar -zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd2 --with-freetype=/usr/local/freetype --with-png=/usr/local/libpng --with-jpeg=/usr/local/jpeg7
step.b
# 编辑 Makefile 文件, 找到 232 行左右
# 看到类似内容 CPPFLAGS = -I/usr/local/freetype/include/freetype2 -I/usr/local/freetype/include -I/usr/local/freetype/include -I/usr/local/jpeg7/include
# 修改为 CPPFLAGS = -I/usr/local/freetype/include/freetype2 -I/usr/local/freetype/include -I/usr/local/freetype/include -I/usr/local/libpng/include -I/usr/local/jpeg7/include
step.c
# 编辑 gd_png.c 文件 找到 if (!png_check_sig (sig, 8)) { /* bad signature */
# 修改为 if (png_sig_cmp (sig, 0, 8)) {
step.d
# 执行命令
make
sudo make install
make clean
# gd库安装完成
step.6
libxml2的安装
# libxml2用来解析xml
# 安装命令
tar -zxvf libxml2-2.6.26.tar.gz
cd libxml2-2.6.26
./configure --prefix=/usr/local/libxml
make
make install
make clean
step.7
php的安装
安装包 php-5.3.1.tar.gz
# 安装命令
step.a
tar -zxvf php-5.3.1.tar.gz
cd php-5.3.1.tar
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml2 --with-zlib --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg7 --with-freetype-dir=/usr/local/freetype --with-gd=/usr/local/gd2
make
sudo make install
make clean
step.b
拷贝PHP配置文件
sudo cp php.ini-development /usr/local/php/lib/php.ini
# php配置文件名称不同本版名称会有差异,当前版本中有两个文件 php.ini-development(开发环境中用的) php.ini-production(生产环境中用的)
step.d
修改apache配置文件/usr/local/apache/conf/httpd.conf
# 添加对php的支持
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
step.e
# 如果用root账户登录跳过这一步
# 更目录web目录权限
sudo chown -R 登录用户:登录用户 /usr/local/apache/htdocs
step.f
#重启apache
sudo /usr/local/apache/bin/apachectl restart
好了到此linux配置环境配置完了,由于各种问题这篇文章拖了好几天才写完。这中间还发生了未保存而丢失文档的杯俱泪奔啊!其中各个包的安装./configure涉及到的参数只是一些基本的参数,LAMP之旅刚刚开始。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
linux立即关机命令有哪些?在Linux中,想要进行立即关机的操作可以使用shutdown、halt、poweroff 等命令,但是它们在使用上还是有一定的区别的,下面小编就给大家来简单的介绍一下linux中这几种立即关机命令,大家在使用时要注意。
首先需要知道的是,这个CIDR是用来解决什么问题的。我们知道,刚开始IP是被划分为5类的,并且能够我们用的只要前三类,但是这三类的划分有很大的问题。
帐号文件由5个部分组成:1、“/etc/passwd”,系统用户配置文件,存储了系统中所有用户的基本信息;2、“/etc/shadow”,存储了系统中用户的密码信息;3、“/ect/group”,用户组配置文件,存储了用户组的所有信息等等。
Linux系统怎么使用awk命令处理文字数据?Linux系统想要对文字进行操作,我们可以使用awk命令来实现,下面我们就来看看详细的教程,需要的朋友可以参考下
linux中默认有三个分区:1、boot分区,该分区是存储内核及在引导过程中使用文件的分区,是启动linux时使用的一些核心文件;2、swap分区,该分区是linux下的虚拟内存分区,作用是在物理内存使用完之后,将磁盘空间虚拟成内存来使用;3、根分区,也即系统分区,系统内所有的东西都存放在根分区中,也被称为root分区。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008