Linux下lamp源码搭建+论坛

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

LAMP 指的Linux(操作系统)、 Apache(HTTP 服务器), MySQL(数据库软件) 和PHP (有时也是指Perl或 Python) 的第一个字母,一般用来建立的web 服务器。Linux 是免费开源软件,这意味着源代码可用的操作系统。Apache 是使用中最受欢迎的一个开放源码的WEB服务器软件。MySQL 是多线程、多用户的SQL数据库管理系统。PHP 是一种编程语言最初设计生产动态网站。PHP 是主要用于服务器端的应用程序软件。Perl 和 Python 类似。

源码lamp搭建过程:

1:[root@lyt ~]# mkdir /mnt/cdrom

[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/

[root@lyt ~]# cd /mnt/cdrom/Server/

[root@lyt Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm         #安装ftp服务器,将源代码导入虚拟机

[root@lyt Server]# cd /var/ftp/

[root@lyt ftp]# chmod o+w pub/            #ftp匿名登录时需要将pub目录权限改为可读

[root@lyt ftp]# vim /etc/vsftpd/vsftpd.conf            #修改此配置文件,如图:

image

[root@lyt ftp]# service vsftpd start

image

2:[root@lyt pub]# vim /etc/yum.repos.d/rhel-debuginfo.repo

image

[root@lyt pub]# yum grouplist |less            #查看源码安装时的开发库和开发工具,在编译或安装过程中都需要如下这些东西。

image

image

安装mysql绿色软件

3:[root@lyt pub]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/        #mysql-5.5.15-linux2.6-i686.tar.gz 是绿色软件,拆解

到/usr/local中

[root@lyt pub]# cd /usr/local/

[root@lyt local]# cd mysql-5.5.15-linux2.6-i686/

[root@lyt mysql-5.5.15-linux2.6-i686]# cat INSTALL-BINARY  | less       #利用管道分页查看INSTALL-BINARY文件

image

[root@lyt local]# groupadd mysql           #创建一个mysql组

[root@lyt local]# useradd -r -g mysql mysql           #创建一个mysql用户,并将其加入到mysql组中

[root@lyt local]# cd /usr/local/

第四部拆包文件已经执行过,这里不再执行

[root@lyt local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql         #创建一个符号连接mysql,指向mysql-5.5.15-linux2.6-i686

[root@lyt local]# cd mysql

[root@lyt mysql]# chown -R mysql .        #将mysql下所有的文件的所属用户全都改为mysql。

[root@lyt mysql]# chgrp -R mysql .         #将mysql下所有的文件的所属组全都改为mysql。

[root@lyt mysql]# scripts/mysql_install_db --user=mysql           #使用scrpts初始化脚本,用刚才创建的mysql用户运行

[root@lyt mysql]# chown -R root  .           #将所属用户改为root用户

[root@lyt mysql]# chown -R mysql data         #将data目录的所属用户改为mysql

[root@lyt mysql]# cp  support-files/my-medium.cnf   /etc/my.cnf

[root@lyt mysql]# bin/mysqld_safe --user=mysql &         #启动mysql

[root@lyt mysql]# netstat -tupln |less       #查看端口号

image

[root@lyt mysql]# cp   support-files/mysql.server    /etc/init.d/mysqld          #将mysql.server 拷贝到/etc/init.d/下,改名为mysqld,此命令拷贝成

功后可以使用service  mysqld restart指令。

[root@lyt mysql]# chkconfig --add mysqld      #将mysql服务加入到chkconfig中,可以使用chkconfig来管理

[root@lyt ~]# vim /etc/ld.so.conf        #查看该文件

image

[root@lyt mysql]# cd /etc/ld.so.conf.d/

由于mysql的库文件存在于/usr/local/mysql/lib文件中,而系统的库文件存放于/usr/lib或者/lib中,所以需要创建/etc/ld.so.conf.d/mysql.conf文件,当系统启动时调用/usr/local/mysql/lib中的库文件。

[root@lyt ld.so.conf.d]# vim mysql.conf           #创建mysql.conf文件,系统启动时可以调用/usr/local/mysql/lib下的库文件

image

[root@lyt ld.so.conf.d]# ldconfig -v |grep mysql           #查看mysql的系统调用

image

由于mysql的头文件存在于/usr/local/mysql/include文件中,而系统的头文件存放于/usr/include中,所以需要在/usr/include中创建连接,当系统启动时调用/usr/local/mysql/include中的头文件:

[root@lyt ld.so.conf.d]# cd /usr/include/

[root@lyt include]# ln -s /usr/local/mysql/include/  mysql         #创建一个字符连接mysql,连接到/usr/local/mysql/include

安装httpd:

1:[root@lyt ~]# cd /var/ftp/pub/            #切换到http源码的存放位置

[root@lyt pub]# tar -jxvf httpd-2.2.19.tar.bz2  -C  /usr/local/src/     #拆解软件包到目录/usr/local/src/

[root@lyt pub]# cd /usr/local/src/

[root@lyt src]# cd httpd-2.2.19/

image

[root@lyt httpd-2.2.19]# ./configure --prefix=/usr/local/apache  --sysconfdir=/etc/httpd  --enable-so --enable-ssl  --with-z        #--prefix表示安

装路径,--sysconfdir表示配置文件的路径,--enable-so表示动态连接库,--enable-ssl表示安全套接层,--with-z网页压缩

[root@lyt httpd-2.2.19]# make      #编译

[root@lyt httpd-2.2.19]# make   install

[root@lyt httpd-2.2.19]# cd /usr/local/apache/

image

[root@lyt bin]# pwd 
/usr/local/apache/bin

[root@lyt bin]# ./apachectl start         #在/usr/local/apache/bin目录中执行./apachect1  start ,启动apache

image

[root@lyt bin]# vim /etc/rc.local        #编辑开机脚本,实现apache开机自动启动,如图:

image

[root@lyt bin]# cd /etc/ld.so.conf.d/

由于apache的库文件存在于/usr/local/apache/lib文件中,而系统的库文件存放/usr/lib或者/lib中,所以需要创建/etc/ld.so.conf.d/httpd.conf文件,当系统启动时调用/usr/local/apache/lib中的库文件。

[root@lyt ld.so.conf.d]# vim httpd.conf      #创建该文件并编辑

image

[root@lyt ld.so.conf.d]# cd /usr/local/apache/lib/

[root@lyt lib]# ldconfig -pv |grep apr         #搜索和apache相关的系统调用

image

由于apache的头文件存在于/usr/local/apache/include文件中,而系统的头文件存放于/usr/include中,所以需要在/usr/include中创建连接,当系统启动时调用/usr/local/apache/include中的头文件:

[root@lyt lib]# cd /usr/include/

[root@lyt include]# ln -s /usr/local/apache/include/ apache           #在/usr/include中创建连接文件,连接名是apache

安装php:

[root@lyt include]# cd /var/ftp/pub/        #切换到php源码的存放位置

[root@lyt pub]# tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src/        #拆包

[root@lyt pub]# cd /usr/local/src/

[root@lyt src]# cd php-5.3.7/

image

查看INSTALL说明文件:

image

[root@lyt php-5.3.7]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs  --with-mysql=/usr/local/mysql

--with-mysqli=/usr/local/mysql/bin/mysql_config  --enable-mbstring=all            #--prefix表示安装路径,--with-apxs2将php编译成apache的模

块,允许apache的apxx调用该模块,--with-mysql指明mysql的安装位置 ,--with-mysqli调用myql接口

image

[root@lyt php-5.3.7]# make            #编译

image

[root@lyt php-5.3.7]# make install

[root@lyt htdocs]# /usr/local/apache/bin/apachectl start        #启动apache

[root@lyt php-5.3.7]# cd /usr/local/apache/htdocs/          #进入apache的站点主目录

image

测试apache能否调用php:

[root@lyt htdocs]# vim index.html

image 

[root@lyt htdocs]# mv index.html index.php       #将index.html改名为index.php

[root@lyt htdocs]# vim /etc/httpd/httpd.conf          #编辑apache的配置文件脚本,此处是源码安装,配置脚本与rpm包安装的有所区别

image

[root@lyt htdocs]# /usr/local/apache/bin/apachectl stop           #重启apache

[root@lyt htdocs]# /usr/local/apache/bin/apachectl start

image

测试php能否调用mysql:

[root@lyt htdocs]# vim index.php

image

image

[root@lyt htdocs]# /usr/local/mysql/bin/mysql          #登陆mysql

image

[root@lyt htdocs]# /usr/local/mysql/bin/mysqladmin -u root -p password       #创建mysql密码

[root@lyt htdocs]# /usr/local/mysql/bin/mysql -u root –p         #登陆mysql数据库

image

创建论坛:

[root@lyt bin]# service vsftpd restart 

[root@lyt pub]# ll  /var/ftp/pub/  

image   

[root@lyt pub]# unzip phpwind_GBK_8.3.zip      #解压文件

[root@lyt pub]# cd phpwind_GBK_8.3

[root@lyt phpwind_GBK_8.3]# cp -R upload/  /usr/local/apache/htdocs/phpwind            #将upload/目录拷贝到/usr/local/apache/htdocs

中,并重命名为phpwind

[root@lyt phpwind_GBK_8.3]# cd /usr/local/apache/htdocs/

image

[root@lyt htdocs]# cd phpwind/

[root@lyt phpwind]# chmod -R  777  attachment/         #更改attachment极其所含文件的属性为777,-R表示递归

[root@lyt phpwind]# chmod -R  777  data/            #更改data极其所含文件的属性为777,-R表示递归

[root@lyt phpwind]# chmod -R  777  html/           #更改html极其所含文件的属性为777,-R表示递归

[root@lyt phpwind]# /usr/local/apache/bin/apachectl restart          #重启apache服务

image

image

image

image

image

image

image

image

image

[root@lyt phpwind]# rm install.php          #按照上面提示,将isntall.php删除

image

image

image

image

image

至此,论坛已创建成功!!!










本文转自 liuyatao666 51CTO博客,原文链接:http://blog.51cto.com/5503845/976556,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4月前
|
安全 Linux PHP
轻松搭建Linux宝塔面板并实现公网访问Discuz论坛,让您的论坛更具吸引力
轻松搭建Linux宝塔面板并实现公网访问Discuz论坛,让您的论坛更具吸引力
|
5月前
|
运维 网络协议 Linux
腾讯T6-9首发“Linux内核源码底层原理开发进阶笔记”,差距不止一点点哦
腾讯T6-9首发“Linux内核源码底层原理开发进阶笔记”,差距不止一点点哦
|
6月前
|
存储 Java Linux
【深入研究Hotspot源码与Linux内核】
【深入研究Hotspot源码与Linux内核】
|
5月前
|
缓存 网络协议 Linux
牛客网论坛最具争议的Linux内核成神笔记,GitHub已下载量已过百万(下)
牛客网论坛最具争议的Linux内核成神笔记,GitHub已下载量已过百万
|
6月前
|
关系型数据库 MySQL 弹性计算
部署LAMP环境(Alibaba Cloud Linux 3)
本教程提供在阿里云云服务器ECS上基于Alibaba Cloud Linux 3操作系统搭建LAMP环境的指引。LAMP是应用广泛的网站服务系统,由四种免费的开源软件Linux、Apache、MySQL和PHP组成。搭建好LAMP环境后,您可以在该ECS实例上搭建网站、访问网站、搭建开发环境等。
93459 64
部署LAMP环境(Alibaba Cloud Linux 3)
|
3月前
|
Linux 调度 索引
Linux内核源码的组织结构
Linux内核源码的组织结构
|
3月前
|
Linux Android开发
Linux内核学习(五):linux kernel源码结构以及makefile分析
Linux内核学习(五):linux kernel源码结构以及makefile分析
71 0
|
4月前
|
消息中间件 Java Shell
Linux【脚本 03】shell脚本离线安装配置集结JDK+InfluxDB+Zookeeper+Kafka(安装文件及脚本源码网盘分享)
Linux【脚本 03】shell脚本离线安装配置集结JDK+InfluxDB+Zookeeper+Kafka(安装文件及脚本源码网盘分享)
28 0
|
4月前
|
关系型数据库 MySQL Shell
MySQL【实践 01】Linux 环境 MySQL 数据库备份 shell 脚本(脚本源码及说明+定时任务配置+数据库恢复测试)粘贴可以
MySQL【实践 01】Linux 环境 MySQL 数据库备份 shell 脚本(脚本源码及说明+定时任务配置+数据库恢复测试)粘贴可以
50 0
|
4月前
|
Linux 智能硬件
Linux MQTT智能家居(源码使用分析)
Linux MQTT智能家居(源码使用分析)
61 0