刘敏文

我的周小结


环境:内部网机器上windowxp,使用VMware虚拟机,在虚拟机中安装ubantu10 操作系统。不可以连接外网,所以很多在线下载的软件不能下载。

系统安装,在分割磁盘时候划分20G磁盘空间,15G为/根目录,2G作为交换区,其余预留后面使用,进入系统是进入到x-window中图形应用界面。

过程记录:由于ubantu默认用户是自己创建的用户,不是root用户,很多权限不足操作受限如安装软件通过Sudo passwd root 可以重置root(即windows下面adminstrator)密码,然后以root身份登录,拥有所有权限。

Linux档案与目录管理cd 目录名为切换到指定目录下

L指令查看当前目录下有哪些文件和文件夹,在安装软件时候这两个命令经常使用到。

Cd .. 为返回到上一层目录

软件的安装,由于没有使用rpm,所有软件程序都是通过下载.tar.gz格式压缩包,通过tar 命令压缩,使用cd进入文件目录下,然后通过./configure 检测安装平台的目标特征,makefile文件在这一过程中产生,在安装php中就因为在这一过程中缺少一个libxml2包而不能生成makefile,之前因为安装mysql和apache中没有碰到此类问题,开始没想到这过程中出错还以为是php版本不对,也可以同过--XX设置一些参数。这一过程结束之后通过make指令编译,它从makefile中读取指令然后编译。Make install 用来安装,也从makefile中读取指令,安装到指定位置。

Lamp搭建:

首先安装mysql 解压压缩包之后,由于mysql本身是binary类型,不需要make和make install 过程,使用cd进入数据库目录之后,可以通过./scripts/mysql_install_db 新建数据库。

启动:

/root/download/mysql/bin/mysqld --user=mysql & Starting mysqld daemon with databases from /root/download/mysql/data

这里需要注意的是权限的问题,如果没有权限,会报错,不能生成 PID文件,需要使用

Chown -R设置权限

在mysql 目录下使用 -u root -p进入数据库操作。

进入之后使用SQL语句创建数据库,创建表格,与MS SqL不同的是mysql只能使用sql完成这些操作,没有界面操作。如创建用户表sql语句 create table user(

ID int primary key, username varchar(20), password varchar(20) ,date date)保存用户注册登录信息。

Apache apache安装过程应注意是在./configure 过程中指定 --enable-so 参数。

编译安装之后在安装目录下面出现很多目录,其中cgi-bin是预设可执行CGI的目录,conf为配置文件目录,htdocs预设主页目录,注意modules为其他apache使用模块的放置目录,在安装php时会在此模块下生成一个模块,为libphp5.so,通过修改httpd.conf 加上 LoadMoudle php4_module modules/libphp5.so,AddType application/x-httpd-php .php,可以让apache支持php,启动apache为在安装目录下进入/bin/apachectl start,开启apache服务,stop为关闭apache服务,每次修改httpd.conf为使修改生效需关闭重启apache服务。

Php安装

Php安装中需注意 在configure 步骤中 添加参数 --with-mysql=mysql安装路径,--with-apxs2=apache安装路径中/bin/apxs。With-config-file-path 设定php.ini目录,之后复制php.ini 到指定目录中。

总结:安装上述软件层层困难,因为开始对linux一点不熟悉,命令全都不知道,不知道安装软件还需要编译make,make install ,以为像在windows下面直接下一步到底,在安装的过程中,在安装过程中遇到一个问题才一步一步去解决比如如何解压 tar, 如何设置权限,以及如何使用vi编辑器进行文本编辑。

Apache设置:

在httpd.conf中设置DocumentRoot可以设置apache的根目录

设置DirectoryIndex可以设置在浏览器中中输入地址默认的搜索页面

ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi/bin

<Directory "usr/local/apache2/cgi-bin">

 Allowoverride None 

Option None

Order allow,deny 

Allow from all

</Directory>

设置可执行CGI放置区

Php简单语法学习:

Php使用$表示变量,变量没有类型之分,使用echo输出,连接字符串使用.符号。$_Post可以获取从页面已Post方式递交的表单数据,$GET可以获取表单以GET方式提交的数据值,$Request可以通用。

Php连接数据库采用mysql_connect(server,username,password),其中都为可选参数。Mysql_select_db(dbname,con),选择数据库,参数为数据库名和之前所创建的连接,mysql_query()查询语句,使用此函数执行sql语句。如select * from user where username='".$_Post["name"];返回一个记录数组。使用mysql_fetch_array()可以从记录数组中读取吓一跳记录,比如之前查询赋值给$result,可以$row=mysql_fetch_array($result)查询一行赋值给$row,之后可以使用$row来使用数据库数据,如$row["username"],也可以使用下标,如$row[1],用户登录成功设置用户cookie,并使用session保持用户会话状态:

setcookie("Id",$row['userid']);
setcookie("username",$name,time()+3600);
session_start();$_SESSION['username']=$name;
使用session之前先启动会话状态session_start()

使用完成,需关闭数据库连接,释放资源。使用mysql_close();

总结:这整个过程就是一个学习,尝试实践的过程,之前不管是对linux或者是php都毫无了解,所以开始时候特别困难,得从最简单学起。学习的过程中又是一个发现问题,解决问题的过程,在server搭建过程中遇到的所有问题都查找问题的原因,解决问题,有些问题很难找到原因所以经常遇到一个难题花上好久时间去解决,php实现登录相对之前一无所知的linux环境搭建还好一点,因为只是语言不同,查看一下语法就可以解决问题。有所收获的不但是简单了解linux和php,而且知道学习的过程就是一个发现问题分析问题以及解决问题的过程。

posted on 2011-08-10 17:03  刘敏文  阅读(327)  评论(5编辑  收藏  举报

导航