linux命令与lamp环境搭建
LINUX下搭建LANP环境
LINUX下搭建LANP环境LAMP环境的搭建mysql安装1. 上传MySQL压缩包2. tar -zvxf mysql....... //解压MySQL压缩包3. mv mysql... /usr/local/mysql 移动MySQL包到/usr/local/mysql:4. useradd -s /sbin/nologin mysql //建⽴MySQL⽤户5. cd /usr/local/mysql/ //进⼊mysql⽂件6. mkdir -p /data/mysql ; chown -R mysql:mysql /data/mysql //创建⼀个存放数据库的⽂件,并将这个⽂件的所有这者所属组都设定为MySQL7. ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql //执⾏⼀个块脚本,执⾏后⽆需⾃⾏编译。
(-bash:./scripts/mysql_install_db: /usr/bin/perl: 坏的解释器: 没有那个⽂件或⽬录)出现错误,进⾏安装yum install -y perl-Module-Install⽆法安装,经将yum源移动回来后安装成功。
8. ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql //再次执⾏9. cp support-files/f /etc/f //将拷贝⽂件放到etc下⾯,会询问是否覆盖,确认覆盖10. vi /etc/f //修改配置内容# basedir = /usr/local/mysql# datadir = /data/mysql# port = 3306# server_id = 136# socket = /tmp/mysql.sock1. cp support-files/mysql.server /etc//init.d/mysqld //拷贝启动脚本2. vi /etc/init.d/mysqld //修改启动脚本basedir=/usr/local/mysqldatadir=/data/mysql1. chkconfig --add mysqld //将mysql加到服务项2. chkconfig mysqld on //设定开机⾃启3. service mysqld start //启动mysql 如果显⽰是SUCCESS则启动成功4. ps -ef | grep msyqld //查看它的进程5. netstat -ltunp | grep 3306 //查看它的端⼝6. 上传压缩包7. tar -zxvf tar............ | httpd.....解压压缩包8. cd apr-1.6.5 //进⼊aprapache./configure --prefix=/usr/local/apr //编译出make⽂件**注意是否会有报错如果有报错就进⾏安装⼀个依赖包 //除了依赖包可能出现错误意外还有可能出现⽆法编译的情况,如果出现:就使⽤yum将gcc编译器进⾏安装:yum install -y gcc1. yum install -y libtool* //安装libtool依赖包2. ./configure --prefix=/usr/local/apr //重新启动看是否出错3. make &&make install 安装4. cd /退出当前⽬录5. cd apr-util-1.6.1 //进⼊apr另⼀个⽂件夹6. ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr7. make && make install //会报错xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个⽂件或⽬录8. yum install -y expat-devel //安装这个包9. make && make install //再次运⾏make就不会在报错了10. cd httpd........ //进⼊httpd....⽂件中进⾏httpd的配置11. ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most ,命令运⾏结束后会出现报错,和之前的⼀样会显⽰缺少⼀个依赖包。
Linux下LAMP(apache+mysql+php)环境的详细配置(基础篇)
Lamp环境的详细配置(基础篇)1、编译之前的准备工作,一般我们在网上下载源代码的软件包,都是用C语言,C++编写的。
既然如此,我们就需要一种能够编译这种软件包的工具,那么在linux下就提供一种非常好用的工具gcc编译器,目前可以编译的语言:C 、C++、Fortran、Java,所以你要在编译之前确保你的系统已经安装好gcc的编译器;另外,你还需要安装autoconf,automake工具,它们用于自动创建功能完善的makefile文件,用于编译安装,在redhat(linux)下可以用yum命令自动安装gcc编译器和相关工具。
2、使用yum命令安装gcc及相关工具:3、在网上下载Lamp环境所需的source软件包,例如:注意:http-2.2.17是经过解压之后,生成的目录;源软件包名为http-2.2.17.tar.gz4、解压源代码软件包;注意:解压之后会生成一个httpd-2.2.17的目录,我们用命令“cd”,切换到目录httpd-2.2.17下;5、一般在解压之后,会在目录httpd-2.2.17下,生成./configure 可执行文件,我们可以利用这个文件执行一些编译前的配置工作,例如指定apache的工作目录,指定apache支撑的模块,配置文件的路径;参数详解:--prefix=/usr/local/apacle //指定apache的安装路径。
--enable-so //让apache以动态共享对象(DSO)的方式编译。
--enable-rewrite //基于规则的URL操控,让apache支持重写功能;--sysconfdir=/etc //指定apache主配置文件的工作目录。
6、指定参数配置之后,用make进行编译;然后编译安装。
备注:安装成功后会生成12个目录,所以我们最好是切换到/usr/local/apache/目录下,确认一下;7、apache服务的启动与关闭1)启动# 另一种方式:备注:apachectl命令的路径:/usr/local/apache/bin/apachectl # apache的默认侦听的端口是80,利用netstat命令查看一下apache服务侦听的端口是否开启:# 我们可以用lynx命令在字符界面测试,看apache服务是否成功运行,系统默认是没有这个命令的,我们需要安装一个软件包生成这个命令,首先利用rpm命令查看一下;备注:提示程序包lynx没有安装;#用yum命令安装提供lynx命令的工具包;#测试备注:如若出现下面的界面,则证明apache服务已经成功;2)关闭# 用netstat 命令查看一下:备注:呵呵,apache的默认端口没有开启哦,所以这里看不到结果;#如果你觉得/usr/local/apache/bin/apachectl这条命令打起来很麻烦,我们可以利用用户自定义变量的方式,简易此操作,例如:#这样就可以了,我们测试一下:如此一来成功了,简易很多吧。
linux下LAMP环境建立
MP环境的搭建各种机器的不同以及虚拟机器的不同搭建时所使用的参数也不尽相同。
下面我根据我自己的环境搭建的LAMP所总结的心得做下讲解。
机器配置intelPentium dual-core E6300 4G内存硬盘500 显卡独立虚拟机使用VM9.02 linux版本Centos 5.9为什么涉及硬件呢因为很多硬件对于VM虚拟机技术支持的不是很好这里我推荐AMD架构的机器。
因为根据我使用的心得AMD架构全系完全支持虚拟技术首先我们需要安装VM9.02 以及Centos5.9在这里我们就不多做描述了。
有一点需要注意有些机器配置因为对虚拟技术支持的不够完善在安装Centos时会不支持图形界面安装。
这样会让你安装的比较麻烦。
不多做描述了。
在安装Centos我们因为使用NAT模式所以进入系统后只需要激活网卡就可以上网了2需要上网下载zlib-1.2.8.tar.gz libpng-1.5.17.tar.gz jpegsrc.v6b.tar.gz freetype-2.4.0.tar.gz libmcrypt-2.5.8.tar.gz libxml2-2.7.2.tar.gz apr-1.4.5.tar.gz apr-util-1.4.1.tar pcre-8.33.tar.gz mysql-5.0.41.tar.gz httpd-2.2.13.tar.gz php-5.2.6.tar.gz mhash-0.9.9.9.tar.gz gd-2.0.32.tar.gz安装的步骤tarzxvf zlib-1.2.8.tar.gzcd zlib-1.2.8./configure --prefix=/usr/local/zlib这里主要是为zlib文件指定目录make && make installtarzxvflibpng-1.5.17.tar.gzcd libpng-1.5.17./configure --prefix=/usr/local/libpng这里主要是为libpng文件指定目录make && make installmkdir /usr/local /jpeg6tarzxvfjpegsrc.v6b.tar.gz./configure --prefix=/usr/local/jpeg6make && make installtarzxvffreetype-2.4.0.tar.gz./configure --prefix=/usr/local/freetypemake && make installtarzxvfapr-1.4.5.tar.gz./configure --prefix=/usr/local/aprmake && make installtarzxvfapr-util-1.4.1.tar./configure --prefix=/usr/local/apr-utilmake && make install下面是很重要的步骤就是安装gd库tarzxvfgd-2.0.32.tar.gzcd gd-2.0.32./configure \--prefix=/usr/local/gd2 / \--with-zlib=/usr/local/zlib/ \--with-jpeg=/usr/local/jpeg6/ \--with-libpng=/usr/local/libpng/ \--with-freetype=/usr/local/freetypemake && make install下面是安装数据库系统tarzxvfmysql-5.0.41.tar.gzcd mysql-5.0.41./configure \--prefix=/usr/local/mysql/ \--with-extra-charsets=allmake && make install此处常见的错误有很多,如果遇到错误请尝试换mysql版本重新安装下[root@localhost mysql-5.0.41]#groupaddmysql添加mysql组[root@localhost mysql-5.0.41]# useraddmysqlmysql添加mysql用户到mysql用户组里[root@localhost mysql-5.0.41]cd /usr/local/mysql[root@localhostmysql]# bin/mysql_install_db --user=mysql此处为初始化数据库[root@localhostmysql]# chown -R root:mysql .设置权限,注意后面有一个"."[root@localhostmysql]# chown -R mysql /var/lib/mysql设置mysql目录权限[root@localhostmysql]# chgrp -R mysql .注意后面有一个"."[root@localhostmysql]# cp share/mysql/f /etc/fcp:是否覆盖“/etc/f”? y[root@localhostmysql]#cpshare/mysql/mysql.server/etc/rc.d/init.d/mys qld开机自动启动mysqlcp:是否覆盖“/etc/rc.d/init.d/mysqld”? y[root@localhostmysql]# chkconfig --add mysqld这里是添加mysql为启动项除了上述方法还可以使用下面方法添加mysql apache为开机自动启动#cd /etc/rc.d#virc.local在rc.local加入:/usr/local/apache/bin/apachectl start/usr/local/mysql/bin/mysqld_safe --user=mysql&这样设置就可以了。
linux如何搭建lamp服务环境(图文详解)
先简要概述下本文要点:(操作系统采用CentOS6.5 x64)1.分别安装搭建lamp服务环境;2.采用lamp一键安装包搭建环境;3.在lamp环境中初步搭建起一个网站;一、分别安装搭建lamp服务环境准备工作:1、配置防火墙,开启80端口、3306端口vi /etc/sysconfig/iptables-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #允许3306端口通过防火墙将以上内容添加到 -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 的下面/etc/init.d/iptables restart #最后重启防火墙使配置生效2、关闭SELINUXvi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加:wq #保存,关闭shutdown -r now #重启系统安装:1、安装Apache卸载自带httpd:yum remove httpdyum install httpd #根据提示,输入Y安装即可成功安装/etc/init.d/httpd start #启动Apache备注:Apache启动之后会提示错误:正在启动 httpd:httpd: Could not reliably determine theserver’s fully qualif domain name, using ::1 for ServerName解决办法:vi /etc/httpd/conf/httpd.conf #编辑找到#ServerName :80修改为ServerName :80 #这里设置为你自己的域名,如果没有域名,可以设置为localhost:wq! #保存退出chkconfig httpd on #设为开机启动/etc/init.d/httpd restart #重启Apache2、安装MySQL先卸载自带mysql:yum remove mysql mysql-server mysql-libs compat-mysql51rm -rf /var/lib/mysqlrm /etc/f安装:yum install mysql mysql-server #询问是否要安装,输入Y即可自动安装,直到安装完成/etc/init.d/mysqld start #启动MySQLchkconfig mysqld on #设为开机启动cp /usr/share/mysql/f /etc/f#拷贝配置文件(注意:如果/etc目录下面默认有一个f,直接覆盖即可)为root账户设置密码:mysql_secure_installation回车,根据提示输入Y输入2次密码,回车根据提示一路输入Y最后出现:Thanks for using MySQL!MySql密码设置完成,重新启动 MySQL:/etc/init.d/mysqld restart #重启/etc/init.d/mysqld stop #停止/etc/init.d/mysqld start #启动3、安装PHP5yum install php根据提示输入Y直到安装完成安装PHP组件,使 PHP5 支持 MySQLyum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pearphp-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt这里选择以上安装包进行安装根据提示输入Y回车/etc/init.d/mysqld restart #重启MySql/etc/init.d/httpd restart #重启Apche相关配置:1、Apache配置vi /etc/httpd/conf/httpd.conf #编辑文件ServerTokens OS 在44行修改为:ServerTokensProd(在出现错误页的时候不显示服务器操作系统的名称)KeepAlive Off 在76行修改为:KeepAliveOn(允许程序性联机)MaxKeepAliveRequests 100 在83行修改为:MaxKeepAliveRequests 1000(增加同时连接数)ServerSignature On 在536行修改为:ServerSignatureOff(在错误页中不显示Apache 的版本)Options Indexes FollowSymLinks 在331行修改为:Options includes ExecCGI FollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录)AllowOverride None 在338行修改为:AllowOverrideAll(允许.htaccess)DirectoryIndex index.html index.html.var 在402行修改为:DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var(设置默认首页文件,增加index.php)Options Indexes MultiViews FollowSymLinks 在554行修改为Options MultiViews FollowSymLinks(不在浏览器上显示树状目录结构)AddDefaultCharset UTF-8 在759行修改为:AddDefaultCharset GB2312(添加GB2312为默认编码)#AddHandler cgi-script .cgi 在796行修改为:AddHandler cgi-script .cgi .pl(允许扩展名为.pl的CGI脚本运行):wq! #保存退出/etc/init.d/httpd restart #重启rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #删除默认测试页2、php配置vi /etc/php.ini #编辑date.timezone = PRC #在946行把前面的分号去掉,改为date.timezone = PRCdisable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec, proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,rea dlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_f ree_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,po six_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix _getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getp gid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo, posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setui d,posix_strerror,posix_times,posix_ttyname,posix_uname#在386行列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
linux上lamp环境配置
1,创建虚拟机2,安装VBoxGuestAdditions_4.1.2增强镜像启动之前,设置-》存储-》选择文件找到文件-》设备-》VBOXADD...-》选择VBoxWindowsAdditions-64.exe运行关闭重启电脑不会的参考/article/e9fb46e19605187520f76677.html3,Ctrl + Alt +T打开终端,激活账户sudo passwd root4,开启防火墙sudo apt-get install ufwsudo ufw enablesudo ufw default deny5,安装文本编辑工具apt-get install vim6,安装updatesudo apt-get update7,使用前的安装sudo apt-get install php5sudo apt-get install mysql-server mysql-client8,apache2安装sudo apt-get install apache2sudo apt-get install php5-clisudo apt-get install php-pearsudo apt-get install php5-mysql php5-mcrypt php5-gd php5-json9,安装memcached的服务端sudo apt-get install memcachedsudo apt-get install php5-memcache php5-memcached php5-curl10,完毕后,如果需要安装php的http扩展,按以下步骤 :apt-get install php5-devapt-get install libcurl3apt-get install libcurl4-gnutls-dev{pecl install pecl_http安装成功以后,需要在/etc/php5/apache2/php.ini中添加:extension=http.so}(版本不够)11,安装php拓展imagick:sudo apt-get install php5-imagick要记得重启apache12,全局安装composercurl -sS /installer |sudo php -- --install-dir=/usr/local/bin --filename=composer13,设置共享文件夹在本地创建一个用于共享的文件夹,设置为共享状态虚拟机-》设置-》共享文件夹,选择路径启动虚拟机,设备-》共享文件夹-》确定如果没安装guestAddition增强工具,上面有参照打开文件,在设备里会看到多出一个文件夹,那就是你设置的共享文件夹查看共享文件夹没有权限sudo adduser 用户名 vboxsf重启虚拟机14,apache2配置文件修改/etc/apache2/sites-available/000-default.conf将DocumentRoot 后面的路径改为你需要的路径。
Linux中LAMP环境安装配置...
Linux中LAMP环境安装配置...一个站长朋友写的一篇linux+apache+mysql+php安装配置环境,他分为了几篇文章来讲但我这里把它整理成一篇完整的文章,希望整个配置流程更简洁好用,。
安装Centos6.5一、VirtualBox虚拟机安装Centos6.51、新建虚拟电脑、选择一些参数以及配置2、进入Centos6.5的引导界面,选择”Install or upgrade an existing system”3、按照步骤一步步走下去,到了选择安装方式的时候,选择URL 方式。
5、继续按照步骤走,设置网络安装镜像6、接收安装7、下面的一系列步骤按照提示一步一步好了。
8、重要的一步:分区,选择“创建自定义布局”。
/boot 分区:200M/ 根分区:20000M/opt 分区:剩下的SWAP :20489、继续一步一步跟着选择下去。
选择安装包,我们选择“Basic Server”10、进入安装过程,等待安装。
11、重启完成。
安装MySQL1、安装MySQL之前,需要安装cmake,因为cmake对软件源码进行编译。
前提:通过挂载把U盘中所需要的软件全部拷贝到系统的/root/softcmake源码包cmake-2.8.8.tar.gz,/root/soft/soft目录下[root@localhost ~]# cd /root/soft/soft[root@localhost /root/soft/soft]# tar -xzvf cmake-2.8.8.tar.gz [root@localhost /root/soft/soft]# cd cmake-2.8.8[***********************.8]#./bootstrap---------------------------------------------CMake 2.8.4, Copyright 2000-2009 Kitware, Inc.---------------------------------------------Error when bootstrapping CMake:Cannot find appropriate C compiler on this system.Please specify one using environment variable CC.See cmake_bootstrap.log for compilers attempted.---------------------------------------------Log of errors: /usr/local/src/cmake-2.8.4/Bootstrap.cmk/cmake_bootstrap.log---------------------------------------------出现以上错误提示:缺少C的编译器解决方案安装gcc编译器可以简单地用yum安装[root@localhost ~]# yum install gcc继续cmake的安装[***********************.8]#./bootstrap---------------------------------------------CMake 2.8.4, Copyright 2000-2009 Kitware, Inc.C compiler on this system is: cc---------------------------------------------Error when bootstrapping CMake:Cannot find appropriate C++ compiler on this system.Please specify one using environment variable CXX.See cmake_bootstrap.log for compilers attempted.---------------------------------------------Log of errors: /usr/local/src/cmake-2.8.4/Bootstrap.cmk/cmake_bootstrap.log---------------------------------------------再次报错:缺少C++编译器。
linux下lamp环境搭建
#cd /tmp/libxml2*
#./configure --prefix=/usr/local/libxml2
#make
#make install
---------------------
d:安装libmcrypt
#cd /tmp/libmcrypt*
#./configure --prefix=/usr/local/libmcrypt
>--with-config-file-path=/usr/local/php/etc \
>--with-mysql=/usr/local/mysql \
>--with-libxml-dir=/usr/local/libxml2 \
>--with-gd=/usr/local/gd2 \
>--disable-userdir #关闭对用户家目录支持
#make
#make install
#echo '/usr/local/apache2/bin/apachectl start ' >> /etc/rc.local 特别注意:重起电脑后怎么都起不来:则用killall -9 httpd
*************LAMP & Discuz & phpMyAdmin****************************
RHEL5系统下从源代码搭建LAMP
LAMP 是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的开源软件,包括:Linux 操作系统,APACHE 服务器,mysql,Perl,PHP 或者 Python 编程语言。虽然在RHEL5的安装光盘里有这些程序的rpm安装包,但为了能最大限度的提高LAMP的性能,我们还是要通过源代码的安装对mysql,php,apache进行优化,以下为LAMP的搭建步骤,目标是搭建一个 Discuz 论坛,并且利用phpMyadmin来管理mysql数据库。
在Linux环境下搭建LAMP服务器
在Linux环境下搭建LAMP服务器互联网的发展使得各种应用和服务越来越依赖网络,而搭建一个稳定高效的服务器成为现代化企业和个人不可或缺的需求。
在众多服务器搭建方案中,LAMP服务器以其开源免费的特点受到广泛关注。
本文将介绍如何在Linux操作系统上搭建LAMP服务器,提供网站服务。
LAMP是指Linux + Apache + MySQL + PHP的组合。
第一步是安装Linux操作系统。
在选择Linux操作系统版本时,可以根据个人需求和熟悉程度来选择Ubuntu、CentOS或者Debian等。
这些操作系统都有相应的镜像文件可供下载。
安装过程中需要设置用户名、密码以及网络连接等基本配置。
第二步是安装Apache服务器。
Apache是目前最流行的Web服务器软件,可以提供高性能的网站服务。
在Linux中,可以通过终端命令安装Apache,具体命令为:sudo apt-get install apache2 (针对Ubuntu等Debian系列系统)sudo yum install httpd (针对CentOS等Redhat系列系统)安装成功后,打开浏览器,输入服务器的IP地址,即可看到Apache的默认欢迎页面,表示Apache安装成功。
第三步是安装MySQL数据库。
MySQL是一种常用的关系型数据库系统,用于存储和管理网站数据。
同样通过终端命令安装,具体命令为:sudo apt-get install mysql-server (针对Ubuntu等Debian系列系统)sudo yum install mysql-server (针对CentOS等Redhat系列系统)安装过程中需要设置MySQL的用户名和密码等基本配置。
安装成功后,可以通过MySQL命令行客户端登录和操作数据库。
第四步是安装PHP解析器。
PHP是一种强大的服务器端脚本语言,可以和Apache、MySQL配合实现动态网页的生成。
linux下多站点建立(lamp环境)
linux下多站点建立(lamp环境)用下面的命令挂载安装光盘安装apache相关程序用vim /etc/httpd/conf/httpd.conf命令修改阿帕奇配置文件,去掉972行的注释符在文件最后添加下面的内容也就是copy 985行到991的内容再根据需要更改设置运行级别下的启动,重启阿帕奇服务chkconfig --level 35 httpd onchkconfig --list httpdservice httpd restart用命令mkdir /var/www/html/1 新建目录1 在/var/www/html/中,在1 中用命令vi/var/www/html/1/index.html编辑文件内容为ceshi1在另一台机器的浏览器测试正常(因为没有dns我们输入的是服务器的IP地址)下面安装mysql数据库,安装下列3个软件包mysql-5.0.77-3.el5.i386.rpm,mysql-devel-5.0.77-3.el5.i386.rpm,mysql-server-5.0.77-3.el5.i386.rpm设置运行级别下的启动,重启mysql服务用下列命令来设置mysql数据库的管理员和账号mysqladmin -u root password '123'测试用下列命令进入mysql数据库,正常进入退出之后安装php组件用下列命令新建2目录在/var/www/html/2 用下列命令在2 目录下新建编辑phpinfo.php 文件 phpinfo.php文件的内容之后修改apache配置文件因为是php框架所以要在391行后面添加index.php用service httpd restart重启apache服务在另一台机器的浏览器测试正常(因为我们的服务器没有DNS解析我们更改了测试机的host文件)。
Linu下架设LAMP服务器
在linux下架设apache+mysql+php+phpBB实验环境:AS4最小化安装实验目标:架设LAMP服务器编辑:crazylinux 联系方式:大家好!这次我们来学习Linux系统中的LAMP服务器的配置。
主要目标配置LAMP运行环境,安装phpBB 论坛程序需要安装软件包2.0.594.4.44.0.182.0.21大家需要这些软件可以联系我!1,首先我们检验安装环境,因为我们是源码包安装,所以我们需要安装gcc编译环境,我是以AS4最小化安装,这里会存在一个软件的依赖关系,需要先安装一个rpmdb软件包(解决软件安装储存关系的数据库),[root@localhost RPMS # rpm -ivh rpmdb-redhat-4-0.. 在第2张光盘中然后我们安装gcc3.4.33.4.33.4.32.3.42.3.44.0.03.4.31.2.13.4.32c3.4.33.4.34.0.04.0.03.4.33.4.33.4.33.4.33.4.34.0.0 --✍红色在第3张光盘中3.4.3 --✍蓝色在第2张光盘中[root@localhost RPMS]# rpm -ivh gcc* --aid现在我们gcc安装OK了,我们下面来安装apache2, [root@localhost src]# tar -zxvf 2.0.59 –C /usr/local/src -----解压到/usr/local/src[root@localhost src]# cd /usr/local/src/httpd-2.0.59 -----进到apache 目录下#export CFLAGS=-I/usr/kerberos/include支持C#export CPPFLAGS=$CFLAGS支持C++[root@localhosthttpd-2.0.59]#./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite--prefix=/usr/local/apache2 指定安装路径--enable-so 设置apache可以使用动态加载模块功能--enable-rewrite 设置apache具有rewrite功能[root@localhost httpd-2.0.59]# make && make install完成apache的安装[root@localhost httpd-2.0.59]# /usr/local/apache2/bin/apachectl start 启动apache这时我们在IE浏览器上输入能看到apache的测试画面就安装成功了3,下面我们安装mysql[root@localhost mysql-4.0.18]# tar -zxvf -C /usr/local/src/[root@localhost mysql-4.0.18]# cd /usr/local/src/ mysql-4.0.18]# useradd mysql 建立mysql用户这里我们需要安装openssl[root@localhost RPMS]# rpm -qa | grep openssl0.9.60.9.7a0.9.7axmlsec1-openssl-1.2.6-30.9.7a[root@localhostmysql-4.0.18]#./configure --with-mysqld-user=mysql --prefix=/usr/local/mysql--with-openssl --with-extra-charset=all --with-isam--exec-prefix=/usr/local/mysql[root@localhost mysql-4.0.18]# make && make install安装后我们进入该目录[root@localhost mysql-4.0.18]# cd /usr/local/mysql/bin/[root@localhost bin]# ./mysql_install_db[root@localhost bin]# cd /usr/local/[root@localhost local]# chown mysql:mysql -R mysql[root@localhost local]# cd /usr/local/mysql/bin/[root@localhost bin]# ./mysqld_safe --user=mysql &[root@localhost bin]# ./mysqladmin password 123456 修改默认密码改为123456[root@localhost bin]# ./mysql -uroot –p 进去mysql后创建phpbb数据库create database phpbb;4,安装php[root@localhost src]# tar -jxvf 4.4.4 -C /usr/local/src/[root@localhost src]# cd /usr/local/src/php-4.4.4在编译前我们需要安装2.5.4a这个软件否则编译不过去[root@localhostphp-4.4.4]#rpm –ivh 5.4a注意你安装目录下面有没这个软件噢)[root@localhostphp-4.4.4]#./configure --prefix=/usr/local/php4 --with-apxs2=/usr/local/apache2/bin/apxs--with-mysql=/usr/local/mysql--with-config-file-path=/usr/local/php4[root@localhost php-4.4.4]# make && make install[root@localhost php-4.4.4]# cp /usr/local/php4/由于php程序需要在apache服务器配合工作,所以需要修改apache配置文件,[root@localhost php-4.4.4]# vi /usr/local/apache2/conf/ 添加以下2个LoadModule php4_module modules/AddType application/x-httpd-php .php在DirectoryIndex后加上DirectoryIndex[root@localhost php-4.4.4]# /usr/local/apache2/bin/apachectl restart 重起服务[root@localhost php-4.4.4]# vi /usr/local/apache2/htdocs/<phpinfo()>在IE浏览器中输入了5,安装phpBB[root@localhost src]# tar -zxvf 2.0.21 -C /usr/local/apache2/htdocs/[root@localhost src]# cd /usr/local/apache2/htdocs/[root@localhost htdocs]# chown -R nobody:nobody phpBB2在IE浏览器中输入了嘿嘿,最简单的LAMP环境就架设OK了。
在Linux下搭建LAMP环境
P(PHP):超文本预处理语言,是一门简单而有效的编程语言,是一种HTML内嵌式语言。可以 使用PHP编写代码访问MySQL数据库中的数据和Linux提供的一些特性的动态内容。
LOGO
每一层都提供了整个软件栈的一个关键部分:
L(Linux):处在最底层,提供操作系统。
A(Apache):处在次低层,作为一个Web服务器,Apche提供可让用户获得Web页面的机制。 Apche是一款稳定的、支持关键任务的服务器,Internet上超过65%的网站都使用它作为Web服务 器。
2. Locate
locate命令要比前者快得多,原因在于它不搜索具体目录,而是搜索一个数据库 (/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并 且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在 使用locate之前,先使用updatedb命令,手动更新数据库。 locate命令的使用实例: $ locate /etc/sh 搜索etc目录下所有以sh开头的文件。
LOGO
参考文献
65%
.
CSDN
25%
维基百科.
10%
.
Linux公社
LOGO
THANKS FOR
LISTENING
软二 27号
谢谢
进行连接测试 cd /var/www sudo vim nd
find是最常见和最强大的查找命令 find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> find的使用实例: $ find . -name "my*" 搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。 $ find . -type f -mmin -10 搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+ 特殊文件+目录。
linux下(apache+php+mysql)lamp环境搭建_小斌敬上
LINUX 下LAMP环境配置1、apapche的编译参数设置./configure --prefix=/usr/local/apache--sysconfdir=/etc/httpd--with-z=/usr/local/zlib--with-included-apr--enable-so--enable-deflate=shared--enable-expires=shared--enable-rewrite=shared--enable-static-support2、mysql的编译参数设置./configure --prefix=/usr/local/mysql--with-charset=utf8--with-extra-charsets=utf83、jpeg库的编译参数设置./configure --prefix=/usr/local/jpeg--enable-shared--enable-static4、gd库的编译参数设置./configure --prefix=/usr/local/gd--with-zlib=/usr/local/zlib--with-jpeg=/usr/local/jpeg--with-png--with-freetype=/usr/local/freetype5、php的编译参数设置./configure --prefix=/usr/local/php--with-config-file-path=/usr/local/php/etc--with-apxs2=/usr/local/apache/bin/apxs--with-mysql=/usr/local/mysql--with-libxml-dir=/usr/local/libxml2--with-png-dir--with-jpeg-dir=/usr/local/jpeg--with-freetype-dir=/usr/local/freetype--with-gd=/usr/local/gd--with-zlib-dir=/usr/local/zlib--with-mcrypt=/usr/local/libmcrypt--with-mysqli=/usr/local/mysql/bin/mysql_config--enable-soap--enable-mbstring=all--enable-socketsmysql> set password for root@localhost = old_password('密码'); 修改mysql密码$cfg['Servers'][$i]['host'] = 'localhost';把localhost改为127.0.0.1 这样不会出现#2002错误一、phpmyadmin有关设置:1.找到 /libraries/config.default.php文件(config.default.php复制到phpmyadmin目录下,然后更名为config.inc.php)2.查找 $cfg['PmaAbsoluteUri'] 修改为你将上传到空间的phpMyAdmin的网址如:$cfg['PmaAbsoluteUri'] = 'http://192.168.1.11/onlyyouknow/';(路径)3.查找 $cfg['Servers'][$i]['host'] = 'localhost';(通常用默认,也有例外,可以不用修改)4.查找 $cfg['Servers'][$i]['auth_type'] = 'config';在自己的机子里调试用config;如果在网络上的空间用cookie,这里我们既然在前面已经添加了网址,就修改成cookie ,这里建议使用cookie.5.查找 $cfg['Servers'][$i]['user'] = 'root'; // MySQL user(mysql用户名,自己机里用root;)6.查找 $cfg['Servers'][$i]['password'] = '密码'; // MySQL password (mysql用户的密码,自己的服务器一般都是mysql用户root的密码)7.查找 $cfg['Servers'][$i]['only_db'] = ''; // If set to a db-name, only(你只有一个数据就设置一下;如果你在本机或想架设服务器,那么建议留空)8.查找 $cfg['DefaultLang'] = 'zh'; (这里是选择语言,zh代表简体中文的意思,这里不知道填gbk对否)9.设置完毕后保存如果出现“配置文件现在需要绝密的短语密码(blowfish_secret)”那么请在$cfg['blowfish_secret'] = ' ';的等号里面设置你网站的cookie,例如:$cfg['blowfish_secret'] = '任意字符就行';这是因为你的“$cfg['Servers'][$i]['auth_type'] = 'cookie'的原因。
《Linux》——LAMP环境搭建及管理
《Linux》——LAMP环境搭建及管理本知识点所需要课时:4课时一、教学标准(讲授本知识点需要达到的深度,也是学生学习本知识点需要达到的深度)1.灵活应用Apache网站服务器的配置与管理2.掌握Web服务器的虚拟主机的实现3.掌握LAMP环境搭建二、使用的讲授方法(打算采用什么方法讲授,以便让学生想的透、记得牢、用的好,最好过目不忘)服务器的配置及讲解主要采用实例法,需要用到4w1h使学生明白apache的用途,演示法讲解LAMP环境搭建,可实现做好录像以节约课堂时间。
三、详细讲授思路(描述本知识点讲授过程的整体安排,主要讲构思)1.Apache服务器的虚拟主机配置在PHP基础中有所介绍,这里着重介绍如何在Linux下安装和配置Apache四、教学中要注意的关键点(老师讲授中特别要强调、要讲透的点,学生学习中特别要关注、要想透的点)1.Apache网站服务器的配置与管理1.安装和启动apache,熟悉apache配置以及启动方法。
Apache 软件包httpd启动Apache服务器service httpd start开机自动运行chkconfig httpd on配置文件及常用指令/etc/httpd/conf/httpd.conf //Apache 主配置文件设置主目录的路径DocumentRoot “/var/www/html”设置默认文档DirectoryIndex index.html index.html.var设置默认字符集AddDefaultCharset UTF-82.Web服务器的虚拟主机的实现1.通过修改apache配置文件实现基于域名的虚拟主机虚拟主机的优点节约投资节约维护费用可获得专业维护,无需要维护人员与昂贵的电源系统拥有更加稳定的性能虚拟主机的实现基于主机名的虚拟主机基于 IP 地址的虚拟主机基于端口的虚拟主机基于主机名的虚拟主机只需要一个IP地址,服务器通过不同的域名区别各网站NameVirtualHost 172.16.217.240 指定监听IP(必须有此项设置)<VirtualHost 172.16.217.240 >ServerName DocumentRoot /var/www/bwie 指定虚拟主机根文档目录</VirtualHost><VirtualHost 172.16.217.240 >ServerName DocumentRoot /var/www/redhat 指定虚拟主机根文档目录</VirtualHost>MP环境搭建Linux+Apache+Mysql+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
第七天LAMP环境搭建-Linux课程
一、准备工作1、安装编译工具gcc、gcc-c++注意解决依赖关系,推荐使用yum安装,若不能联网可使用安装光盘做为yum源——1)编辑yum配置文件:# mount /dev/cdrom /mnt/cdrom# vi /etc/yum.repos.d/CentOS-Media.repo[c5-media]name=CentOS-$releasever - Mediabaseurl=file:///mnt/cdrom * 修改为光盘挂载点file:///media/cdrom/file:///media/cdrecorder/gpgcheck=0enabled=1 * 改为1意为启用gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-52)剪切/etc/yum.repos.d/CentOS-Base.repo# mv /etc/yum.repos.d/CentOS-Base.repo /backup3)依次安装gcc、gcc-c++# yum -y install gcc# yum -y install gcc-c++2、关闭系统RPM安装包的Apache、MySQL的服务关闭启动的服务httpd、mysqld# service httpd stop# service mysqld stop确定rpm包安装的httpd和mysqld不能开机自启动chkconfig --level 2345 httpd(mysqld) off3、关闭SELinux,允许防火墙80端口访问使用setup关闭防火墙和SElinux1)关闭SELinux# vi /etc/selinux/configSELINUX=disabled * 若安装时没有禁用SELinux ,将enforcing改为disabled 修改后需重新启动Linux方可生效!2)关闭防火墙Netfilter/iptables因尚未做防火墙讲解,直接简单的关闭所有防火墙设置:# iptables -F * 如果没有禁用防火墙,默认80端口禁止访问iptables -Ziptables -X# ntsysv以下列出服务可保持自启动,未列出的服务都可以关闭:atdcrond # atd、crond计划任务irqbalancemicrocode_ctl # 系统irq端口调用,系统服务network #网络设置sendmail #邮件sshd #远程管理syslog #系统日志5、拷贝源码包,解包解压缩建议将LAMP环境安装源码包统一存放在一个目录下,如/lamp可编写个批量处理脚本,一次性把所有.tar.gz的安装包解包解压缩# vi tar.shcd /lamp/bin/ls *.tar.gz > ls.list/bin/ls *.tgz >> ls.listfor TAR in `cat ls.list`do/bin/tar -zxf $TARdone/bin/rm ls.list6、查看确认磁盘空间未满df -h* 若/分区已满,可以移动安装包到其他分区或删除其他无用文件如何确定报错:1)安装过程停止2)停止后,一页界面中出现error或者warning如何确定安装成功:进入安装目录,确认安装程序出现,就是成功二、编译安装* 每个源码包配置编译安装完成后,确认安装目录下是否生成安装文件make clean# 安装libxml2Libxml2 是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的免费开源软件。
Linux下PHP 开发环境搭建 -- LAMP
平时写程序时都是在服务器已经搭建好的PHP环境进行的。
出于对未知知识的好奇,这几天在自己的机器上搭建起了PHP开发环境。
本想轻松顺利的看到phpinfo显示在我的页面上,没想到安装环境时一路的error,不停的google折腾了半天终于看到了phpinfo。
在此把遇到的问题总结一下,给大家提供一个参考。
我的OS是ubuntu 9.10,得益于apt-get强大的功能参考了一下这篇文章/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.gzcd build-essential-11.4./configuremakesudo make installmake clean二、MySql的安装step.1ncurses的安装# 如果缺少ncurses包mysql编译会报No curses/termcap library found的错误安装包 ncurses-5.6.tar.gztar -zxvf ncurses-5.6.tar.gzcd ncurses-5.6./configure --prefix=/usr/local/ncurses --with-shared --without-debug --enable-widecmakesudo make installmake cleanstep.2mysql的安装安装包mysql-5.1.42.tar.gzstep.a# 安装命令tar -zxvf mysql-5.1.42.tar.gzcd mysql-5.1.42./configure--prefix=/usr/local/mysql--with-named-curses-libs=/usr/local/ncurses/lib/lib ncursesw.so.5.6--with-charset=gbk# --prefix=/usr/local/mysql mysql的安装路径# 关于mysql配置文件路径的说明:mysql按照下列顺序搜索f# /etc,mysql安装目录如/usr/local/mysql/etc,安装目录下的data目录如/usr/local/mysql/data,以最先找到的为准。
LINUX下的LAMP环境搭建
LINUX下的LAMP环境搭建一、Linux下的LAMP环境搭建有两种方式,一种是rpm包安装,一种的源码包安装RPM包安装,安装简单,可以自己解决依赖关系,搭建后的环境比较稳定,但是单个软件包再次升级时麻烦。
源码包安装,安装繁琐,自己配置依赖关系,搭建后的环境根据自己的情况可以自行调优,并且单个包的升级比较方便二、RPM包LAMP环境搭建a)一般使用yum来搭建rpm包的lamp环境,安装前请确保yum源,yum源确定之后就可以直接运行命令:yum -y install httpd* mysql* php* 即可自行解决依赖关系,并安装b)安装成功后注意将httpd 和mysqld 服务修改为开机自启动chkconfig httpd on 和chkconfig mysqld on 修改后在以后启动服务器的时候这两个服务就能够自启动了c)服务启动后,rpm包的lamp环境已经搭建成功,网站的根目录默认在/var/www/html/目录,相当于apache/htdocs目录的功能,可以直接将网站放到此目录下运行。
Php的配置文件默认存放是/etc/httpd/conf/httpd.confd)卸载软件包建议使用rpm 的方式卸载,不要使用yum的方式卸载,yum方式会把所有的依赖包都卸载掉。
rpm卸载方式:卸载前注意关闭服务:service httpd stop service mysqld stop查询安装的有关httpd的软件包:rpm -qa | grep httpd*卸载httpd软件包: rpm -e httpd-2.2.3* --nodeps查询安装的有关mysql的软件包:rpm -qa | grep mysqld*卸载mysql软件包:rpm -e mysql-5.0.77* --nodeps查询安装的有关php的软件包:rpm -qa | grep php*卸载php软件包:rpm -e php-5.1.6* --nodeps后面的参数--nodeps 是截断它与其他rpm包的依赖关系,直接卸载。
linux安装lamp环境的安装
1.Linux软件安装方式(重点)1.1. 三种软件方式1. rpm安装:以软件包的形式安装rpm –q软件名称查询软件是否被安装rpm –ivh软件包路径安装软件rpm –e软件名称卸载软件rpm -qa | grep 部分名称 //利用管道模糊查询软件安装情况2. 源码编译安装configure//配置软件的安装,可以设置安装路径和一些安装参数make//编译把源码编译成二进制代码make install //把二进制代码复制到相应的目录3. yum安装,通过网络获取安装文件,可以自动解决安装包的依赖问题yuminstall vsftpd //要求联网1.2. 压缩和解压文件常见的压缩文件后缀名 .tar.gz .tar.bz2压缩和解压命令tartar –cf打包文件名要打包的文件1 文件2 //打包文件tar –xf压缩包名//解压文件两种压缩格式.gz .bz2在命令前加上相应压缩格式参数z(gz) 或j(bz2),例如tar –czf ,tar -xjf 2.安装Apache(重点)1. 软件安装依赖问题Linux的软件一般是c(C++)语言编写的,源码进行编译的时候需要gcc(gcc_c++)的支持依赖关系:gcc-->glibc-devel-->glibbc-headers-->kernel-headerscd /mnt/cdrom1、rpm -ivh kernel-headers-2.6.18-398.el5.i386.rpm2、rpm -ivh glibc-headers-2.5-123.i386.rpm3、rpm -ivh glibc-devel-2.5-123.i386.rpm4、rpm -ivh gcc-4.1.2-55.el5.i386.rpm2. 安装apache(httpd)源码包:httpd-2.2.19.tar.bz2网址:/tar xf httpd-2.2.19.tar.bz2 //解压源码注意:tar: 由于前面延迟的错误而退出更换到root权限cd httpd-2.2.19 //进入httpd源码目录./configure //配置make //编译make install //安装3. 启动apachecd /usr/local/apache2/bin./apachectl start注意:如果出现如下情况:解决方案:service http stop (关掉httpd)4. 配置linux防火墙,打开http(80)端口Apache的安装目录:/usr/local/apache23.安装PHP(重点)3.1. 安装php的依赖软件安装php前需要安装libxml zlib gd png jpeg freetype1. 安装libxml源码文件libxml2-2.7.2.tar.gztar xf libxml2-2.7.2.tar.gz //解压cd libxml2-2.7.2./configure //配置make && make install //编译&安装2. 安装zlib zlib-1.2.5.tar.gz3. 安装jpeg jpegsrc.v8b.tar.gz4. 安装png libpng-1.4.3.tar.gz5. 安装freetype freetype-2.4.1.tar.gz./configure --prefix=/usr/local/freetype3.2. 编译安装phpphp5.4的源码包php-5.4.45.tar.gztar xf php-5.4.45.tar.gz//解压cd php-5.4.45配置参数./configure \--with-apxs2=/usr/local/apache2/bin/apxs \--with-mysql \--with-mysqli \--with-pdo-mysql \--with-gd \--with-freetype-dir=/usr/local/freetype \--enable-mbstring=all \//--with-apxs2=/usr/local/apache2/bin/apxs 让apache能够支持php //--with-mysql 使php支持mysqlmake && make install//编译&安装3.3. 使apache支持phpVim /usr/local/apache2/conf/httpd.conf添加如下代码:<FilesMatch \.php$>SetHandler application/x-httpd-php</FilesMatch>重启apache3.4. Php配置文件使用phpinfo()查看php.ini文件的路径,复制php.ini-development文件到该目录并改名为php.inicp (源码目录)/php.ini-development (phpinfo显示的路径)php.ini解决date()函数警告信息.修改php.ini文件 date.timezone = "Asia/Shanghai"或 PRC4.安装MySQL(重点)安装mysql5.1前需要gcc-c++依赖,这里我们直接使用yum安装gcc-c++,自动帮我们解决软件安装依赖问题.4.1. 使用光盘作为yum源修改yum源配置文件,使用本地光盘(第一张光盘)作为yum源准备好已挂载光驱的目录(/mnt/cdrom)yum源配置文件位于/etc/yum.repos.d/目录下mv CentOS-Base.repo CentOS-Base.repo.bak //干掉Centos-Base.repo 光盘安装必须干掉回复就可以使用网络安装了vim Centos-Media.repo //编辑媒体源配置文件添加光盘挂载目录file:///mnt/cdromgpgcheck=0enabled=1修改后如下图:4.2. 使用yum安装软件yum安装gcc-c++,自动解决安装依赖问题yum install gcc-c++4.3. 编译安装mysqlMysql源码文件mysql-5.1.58.tar.gztar xf mysql-5.1.58.tar.gz //解压cd mysql-5.1.58.tar.gz配置参数./configure --prefix=/usr/local/mysql \--with-charset=utf8 \--with-extra-charsets=all \--with-named-curses-libs=/usr/lib/libncurses.so.5\//--prefix指定安装路径,--with-charset默认字符编码, --with-extra-charsets支持的其他编码,--with-named-curses-libs指定curses库的路径(有时候系统不能自动找到时就需要手动指定curses是一个在Linux/Unix下广泛应用的图形函数库.,作用是可以绘制在DOS下的用户界面和漂亮的图形。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•
•
9、1999年,Linux的简体中文发行版问世。
10、2000年后,Linux系统日趋成熟,涌现大量基于Linux服务器平台的应用,并广泛应用于基于ARM技术的嵌入式系统中。
• 注意:Linux Torvalds公开的Linux内核源码并不是我们现在使用的Linux系统的全部,而仅仅是Linux内核kernel部分的代码。
linux操作系统总结
张浩
目录
• • • • • 一、Linux简介 二、系统分类 三、常用操作命令 四、LAMP环境搭建 五、linux系统文件系统
一.
Linux简介
什么是操作系统?
• 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必 备的基础环境支撑,是计算机系统的核心。 • 操作系统的作用是管理和控制计算机系统中的硬件和软件资源,例如,它负责直接管理计算机系统的各种硬件资源,如对CPU、 内存、磁盘等的管理,同时对系统资源所需的优先次序进行管理。操作系统还可以控制设备的输入、输出以及操作网络与管理文 件系统等事务。同时,它也负责对计算机系统中各类软件资源的管理。例如各类应用软件的安装、设置运行环境等。操作系统与 计算机硬件软件关系图如下。
什么是Linux?
• 和Windows操作系统软件一样,Linux也是一个操作系统软件。但是和Windows不同的是,Linux是一套开放源代码程序的、并可以自由传播的类Unix 操作系统软件(Unix系统是Linux系统的前身,具备很多优秀特性)。其在设计之初,就是基于Intel x86系列CPU架构的计算机的。它是一个基于POSIX 的多用户、多任务并且支持多线程和多CPU的操作系统。 Linux是由世界各地成千上万的程序员设计和开发实现的。当初开发Linux系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用 的类Unix操作系统兼容产品。在过去的20年里,Linux系统主要应用于服务器端、嵌入式开发和个人PC桌面三大领域,其中服务器端领统作为其服务器端的程序运行平台,全球及国内排名前十的网站使用的主流系统 几乎都是Linux系统。 Linux操作系统之所以如此流行,是因为它具有如下一下特点:
Red Hat
• 国内,乃至是全世界的Linux用户所最熟悉、最耳闻能详的发行版想必就是Red Hat了。Red Hat最早由Bob Young和Marc Ewing在 1995年创建。而公司在最近才开始真正步入盈利时代,归功于收费的Red Hat Enterprise Linux(RHEL,Red Hat的企业版)。而 正统的Red Hat版本早已停止技术支持,最后一版是Red Hat 9.0。于是,目前Red Hat分为两个系列:由Red Hat公司提供收费技 术支持和更新的Red Hat Enterprise Linux,以及由社区开发的免费的Fedora Core。Fedora Core 1发布于2003年年末,而FC的定 位便是桌面用户。FC提供了最新的软件包,同时,它的版本更新周期也非常短,仅六个月。目前最新版本为FC 3,而FC4也预定 将于今年6月发布。这也是为什么服务器上一般不推荐采用Fedora Core。 •
•
• •
适用于服务器的版本是Red Hat Enterprise Linux,而由于这是个收费的操作系统。于是,国内外许多企业或空间商选择 CentOS。CentOS可以算是RHEL的克隆版,但它最大的好处是免费!菜鸟油目前的服务器便采用的CentOS 3.4。
优点:拥有数量庞大的用户,优秀的社区技术支持,许多创新 缺点:免费版(Fedora Core)版本生命周期太短,多媒体支持不佳
Linux的发展历程
• • • • • • • • 1、1984年,Andrew S.Tanenbaum开发了用于教学的Unix系统,命名为MINIX。 2、1989年,Andrew S.Tanenbaum将MINIX系统运行与x86的PC计算机平台。 3、1990年,芬兰赫尔辛基大学学生Linus Torvalds首次接触MINIX系统。 4、1991年,Linus Torvalds开始在MINIX上编写各种驱动程序等操作系统内核组件。 5、1991年底,Linus Torvalds公开了Linux内核源代码00.2版()。 6、1993年,Linux1.0版发行,Linux转向GPL版权协议。 7、1994年,Linux的第一个商业发行版Slackware问世。 8、1996年,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由Open Linux公司打包)符合POSIX标准。
•
软件包管理系统:up2date (RPM), YUM (RPM)
SUSE
• SUSE是德国最著名的Linux发行版,在全世界范围中也享有较高的声誉。SUSE自主开发的软件包管理系统YaST 也大受好评。SUSE于2003年年末被Novell收购。 • • SUSE之后的发布显得比较混乱,比如9.0版本是收费的,而10.0版本(也许由于各种压力)又免费发布。这 使得一部分用户感到困惑,也转而使用其它发行版本。但是,瑕不掩瑜,SUSE仍然是一个非常专业、优秀的发行 版。
• 优点:专业,易用的YaST软件包管理系统
缺点:FTP发布通常要比零售版晚1~3个月
• 软件包管理系统:YaST (RPM), 第三方APT (RPM) 软件库(repository)
Debian GNU/Linux
• Debian是菜鸟油服务器之前所采用的操作系统。Debian最早由Ian Murdock于1993年创建。可以算是迄今为止,最遵循GNU规范的Linux系统。Debian 系统分为三个版本分支(branch):stable, testing 和 unstable。截至2005年5月,这三个版本分支分别对应的具体版本为:Woody, Sarge 和 Sid。其 中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为 稳定,也支持了不少新技术(比如SMP等)。而Woody一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。菜鸟油之 前所采用的是Debian Sarge。
•
•
•
•
• • •
开发源代码的程序,可自由修改。
Unix系统兼容,具备Unix几乎所有优秀特性。 可自由传播,无任何商业化版权制约。 适合Intel等x86 CPU系列架构的计算机。
Linux的诞生
• Linux系统的诞生开始于芬兰赫尔辛基大学的一位计算机系的学生,名字为Linus Torvalds。在大 学期间,他接触到了学校的Unix系统,但是当时的Unix系统仅为一台主机,且对应了多个终端,使用 时存在操作等待时间很长等一些不爽的问题,无法满足年轻的Linus Torvalds的使用需求。因此他就 萌生了自己开发一个 Unix的想法,于是不久,他就找到了前文提到的谭邦宁教授开发的用于教学的 Minix操作系统,他把Minix安装到了他的I386个人计算机上。此后,Torvalds又开始陆续阅读了Minix 系统的源代码,从Minix系统中学到了很多重要的系统核心程序设计理念和设计思想,从而逐步开始 了Linux系统雏形的设计和开发。
Linux核心概念
• 自由软件与FSF
• 自由软件:简单地理解,自由软件的核心就是没有商业化软件版权制约,源代码开放,可无约束自由传播。 • 自由软件基金会FSF:FSF(Free Software Foundation)的中文意思是自由软件基金会,是Richard Stallman与1984年发起和创 办的。FSF的主要项目是GNU项目。它的目标是建立自由发布和可移植的类Unix操作系统产品。GNU项目本身产生的主要软件包 括:Emacs编辑软件、gcc编译软件、bash命令解释程序和编程语言,以及gawk(GNU's awk)等。 • GNU介绍
• GPL介绍
•
GPL全称为General Public License,中文名为通用公共许可,是一个最著名的开源许 可协议,开源社区最著名的Linux内核就是在GPL许可下发布的。GPL许可是由自由软件基 金会(Free Software foundation)创建的。 1984年,Richard Stallman发起开发自由软件的运动后不久,在其他人的协作下,他创 立了通用公共许可证(GPL),这对推动自由软件的发展起来至关重要的作用,那么,这 个GPL到底是什么意思呢?
•
• •ห้องสมุดไป่ตู้•
系统。
到1991年Linux内核发布的时候,GNU项目已经完成了除系统内核之外的各种必备软件的开发。在Linux Torvalds和其他开发 人员的努力下,GNU项目的部分组件又运行到了Linux内核之上,例如:GNU项目里的Emacs、gcc、bash、gawk等,至今都是 Linux系统中很重要的基础软件。
• • • • • • GNU的全称为GNU's not unix,意思是"GNU不是UNIX",GNU计划,又称革奴计划,是由Richard Stallman在1984年公开 发起的,是FSF的主要项目。这个项目的目标是建立一套完全自由的和可移植的类Unix操作系统。 GNU类Unix操作系统是由一系列应用程序、系统库和开发工具构成的软件集合,例如:Emacs编辑软件、gcc编译软件、 bash命令解释程序和编程语言,以及gawk(GNU's awk)等,并加上了用于资源分配和硬件管理的内核。 但是GNU自己的内核Hurd仍在开发中,离实用还有一定的距离。因此,这个GNU系统并没有流行起来。现在的GNU系统 通常是使用Linux系统的内核、加上GNU项目贡献的一些组件,以及其他相关程序组成的,这样的组合被称为GNU/Linux操作