linux-mysql-php-apache自学

----------------------------------------------------------------------------

Red Hat Enterprise Linux 4、PHP 4.3.9、MySQL 4.1.7、Apache 2.0.52
Linux 系统安装就不再介绍。要注意的是:安装Linux的时候不要安装系统默认的Apache,MySQL和PHP以及相关的软件,如果已经安装了,请用rpm -e * 删除已经安装的包。(如:rpm –e apache、rpm –e mysql 、rpm –e php)
声明:本文采用的是Linux系统默认安装的Apache软件,自己安装的PHP、MySQL软件。
安装前,请下载远程访问软件PuTTY/PSFTP,以及RPM安装包:

下载网址如下:
PuTTY & PSFTP
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

PRM 安装包

http://www.rpmfind.net

mysql-4.1.7-4.RHEL4.1.i386.rpm
mysql-bench-4.1.7-4.RHEL4.1.i386.rpm
mysql-devel-4.1.7-4.RHEL4.1.i386.rpm
mysql-server-4.1.7-4.RHEL4.1.i386.rpm
mysqlclient10-devel-3.23.58-4.RHEL4.1.i386.rpm(这个可不下载)
mysqlclient10-3.23.58-4.RHEL4.1.i386.rpm
php-4.3.9-3.1.i386.rpm
php-mysql-4.3.9-3.1.i386.rpm

用 PSFTP连接linux服务器,上传以上7个RPM包至linux服务器上的某一目录,如:/home/tmp/。

操作方法如下:

cd /home/tmp
lcd d:/software/LAMP
put mysql-4.1.7-4.RHEL4.1.i386.rpm
put mysql-bench-4.1.7-4.RHEL4.1.i386.rpm
put mysql-devel-4.1.7-4.RHEL4.1.i386.rpm
put mysql-server-4.1.7-4.RHEL4.1.i386.rpm
put mysqlclient10-3.23.58-4.RHEL4.1.i386.rpm
put php-4.3.9-3.1.i386.rpm
put php-mysql-4.3.9-3.1.i386.rpm
bye

用 PuTTY连接linux服务器,安装上传的7个 RPM 包。

操作步骤如下:

cd /home/tmp
rpm -ivh mysql-4.1.7-4.RHEL4.1.i386.rpm
rpm -ivh mysql-bench-4.1.7-4.RHEL4.1.i386.rpm
rpm -ivh mysql-devel-4.1.7-4.RHEL4.1.i386.rpm
rpm -ivh mysql-server-4.1.7-4.RHEL4.1.i386.rpm
rpm -ivh mysqlclient10-3.23.58-4.RHEL4.1.i386.rpm
rpm -ivh php-4.3.9-3.1.i386.rpm
rpm -ivh php-mysql-4.3.9-3.1.i386.rpm

安装完成后,重启 httpd 服务器并启动 mysql 。

/etc/init.d/httpd restart
/etc/init.d/mysqld start

exit

到此,PHP & MySQL安装完毕。
以上操作,均在 John Meng 的指导下完成。如需技术指导,请与他联系。

PhpMyAdmin 配置:

下载网址:

http://www.phpmyadmin.net

操作如下:
将phpMyAdmin.xxx.tar.gz包上传至Linux服务器,然后再解压。
再进行下面步骤:

cd /home/tmp
cp phpMyAdmin.xxx.tar.gz /var/www/html
cd /var/www/html
tar –xvzf phpMyAdmin.xxx.tar.gz
mv phpMyAdmin.xxx phpMyAdmin
cd phpMyAdmin
cp config.sample.inc.php config.inc.php
vi config.inc.php

配置文件中的用户名和密码就可以了。
下面命令供配置服务器时参考:

/etc/init.d/httpd start
/etc/init.d/mysqld start
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
netstat -an|grep 3306

-----------------------------------------------------------------------------

1、下载MySQL免安装版/二进制版软件(不用编译)
 
文件格式:MYSQL-VERSION-OS.tar.gz
2、创建MySQL组,建立MySQL用户并加入到mysql组中

(不同版本的Unix中,groupadd和useradd的语法可能会稍有不同。)

#groupadd mysql
#useradd -g mysql mysql

3、进入目录/usr/local,解压缩免安装版,并在此目录中建立名为mysql的软链接

#cd /usr/local
#gunzip < /path/to/MYSQL-VERSION-OS.tar.gz | tar xvf -

(该命令会在本目录下创建一个名为MYSQL-VERSION-OS的新目录。)

(使用GNU tar,则不再需要gunzip。你可以直接用下面的命令来解包和提取分发:

#> tar zxvf /path/to/mysql-VERSION-OS.tar.gz)
#ln -s MYSQL-VERSION-OS mysql

4、添加MySQL配置文件

如果你想要设置一个选项文件,使用support-files目录中的一个作为模板。在这个目录中有4个模板文件,是根据不同机器的内存定制的。

#cp support-files/my-medium.cnf /etc/my.cnf

(可能你需要用root用户运行这些命令。)

5、设定目录访问权限,用mysql_install_db创建MySQL授权表初始化,并设置mysql,root帐号访问权限

#cd mysql
#chown -R mysql .
#chgrp -R mysql .
#scripts/mysql_install_db –user=mysql
#chown -R root .
#chown -R mysql data

(注意以上命令中的" . "符号不能少。)


6、运行MySQL

#bin/mysqld_safe –user=mysql &

(如果没有问题的话,应该会出现类似这样的提示:

[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var

如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/my.cnf中配置。

大多数问题是权限设置不正确引起的。 )

7、设置root密码。默认安装密码为空,为了安全你需要修改密码

#/usr/local/mysql/bin/mysqladmin -uroot password yourpassword

8、拷贝编译目录的一个脚本,设置开机自动启动

#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
#chmod 700 /etc/init.d/mysqld
#chkconfig –add mysqld
#chkconfig –level 345 mysqld on

9、启动mysqld服务

#service mysqld start

10、查看3306端口是否打开。要注意在防火墙中开放该端口

#netstat -atln

免安装版/二进制版安装基本命令概述:

shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -
shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db –user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe –user=mysql &

 

-----------------------------------------------------------------------------------------
记录一下我在fedora core 1下通过源代码编译出来的apache+mysql+php开发环境的全部过程
通常安装一台服务器当然使用rpm是最方便的,不需要考虑太多配置的问题,就可以轻松获得需要的环境了。不过rpm包互相关联的问题也不是这么容易解决。 apache,mysql,php这三个应用从源代码编译安装还是比较简单的,配置参数不算复杂,而且没有太多的依赖关系,从源码编译出来的系统也比较稳定一些,方便未来打补丁和升级工作。

编译安装的前提是,系统已经安装了相应的编译工具,一般我的习惯是在安装系统的时候,选择自定义系统并且只选择开发工具包这一项,其他所有软件包均不安装。如果您没有选择安装所有的开发工具,那么之前您至少需要安装下面的rpm包

autoconf-2.57-3.noarch.rpm
automake-1.7.8-1.noarch.rpm
binutils-2.14.90.0.6-3.i386.rpm
bison-1.875-5.i386.rpm
byacc-1.9-26.i386.rpm
cpp-3.3.2-1.i386.rpm
flex-2.5.4a-30.i386.rpm
gcc-3.3.2-1.i386.rpm
gcc-c++-3.3.2-1.i386.rpm
glibc-devel-2.3.2-101.i386.rpm
glibc-headers-2.3.2-101.i386.rpm
glibc-kernheaders-2.4-8.36.i386.rpm
libstdc++-devel-3.3.2-1.i386.rpm
m4-1.4.1-14.i386.rpm

下面介绍步骤

1、mysql安装
下载一个目标版本
tar -xzvf mysql-4.0.xx.tar.gz
cd mysql-4.0.xx
./configure --prefix=/usr/local/mysql <--这个路径是我比较习惯的,您也可以选择其它安装路径
make
make install
在support-files目录中,选择一个适当的.cnf文件,cp到/etc/my.cnf
cd /usr/local/mysql/bin
./mysql_install_db
../share/mysql/mysql.server start
./mysqladmin -uroot password 'xxxx' <--修改默认的密码
./mysql -uroot -p 尝试登陆mysql,应该是没有问题的了

mysql.server这个文件可以copy到/etc/rc.d/init.d目录下,设置系统启动的时候自动启动mysql服务

2、apache安装
下载一个目标版本
tar -xzvf httpd-2.0.xx.tar.gz
cd httpd-2.0.xx
./configure --prefix=/usr/local/apache --enable-so <--模块化
make
make install
cd /usr/local/apache/conf
修改httpd.conf,因为一会儿还要配置php,这里可以暂时简单设置一下,主要配置User,Group,ServerName,DocumentRoot,DirectoryIndex这些参数就可以了
cd /usr/local/apache/bin
./apachectl start 启动apache服务,这时候在客户端浏览器里面输入ip,因该可以看到apache默认的页面出现

apachectl这个文件也可以copy到/etc/rc.d/init.d目录下,设置系统启动的时候自动启动apache服务


3、php安装
下载一个目标版本
tar -xzvf php-4.3.xx.tar.gz
cd php-4.3.xx
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs <--这里需要找到apache安装路径的apxs这个文件,如果是apache 1.3版本的话,参数是--with-apxs=
make
make install
将源码目录中php.ini-recommended这个文件copy到/usr/local/php/lib/下,改名为php.ini
回到apache的配置文件中,确认是否自动添加了LoadModule php4_module modules/libphp4.so这一行。然后再添加下面的代码,我一般习惯添加在#AddHandler cgi-script .cgi这一行后面。
AddType application/x-httpd-php .php

使用apachectl重新启动apache服务
./apachectl restart

在设置的DocumentRoot目录下,添加一个phpinfo.php的文件来测试系统,程序代码如下:

  //filename: phpinfo.php
  phpinfo();
?>

这时候在客户端浏览器中访问http://serverip/phpinfo.php应该出现php的参数表,至此所有系统安装完毕。

当然还有一些细节需要考虑,比如将
/usr/local/mysql/bin
/usr/local/apache/bin
/usr/local/php/bin
三个目录加入到系统的PATH里面,这样所有的操作指令在任何路径都可以执行了

配置php.ini文件,将include_path设置成include_path = ".:/usr/local/php/lib/php",这样就可以在代码里面使用pear代码库了。

上述是这三个应用的基本最简配置,如果需要额外的扩展功能,就要在./configure后面的参数中进行配置了,具体配置的格式可以参考各自的./configure --help帮助菜单。

建议保留源代码的目录,这样在需要添加扩展的时候,只需要修改configure参数,并且make, make install一下,重新启动服务,就可以更新了。

 

-----------------------------------------------------------------------------------------------

  1.apache

  在如下页面下载apache的for Linux 的源码包

  http://www.apache.org/dist/httpd/;

  存至/home/xx目录,xx是自建文件夹,我建了一个wj的文件夹。

  命令列表:

  cd /home/wj
  tar -zxvf httpd-2.0.54.tar.gz
  mv httpd-2.0.54 apache
  cd apache
  ./configure --prefix=/usr/local/apache2 --enable-module=so
  make
  make install
  安装apache至/usr/local/apache 并配置apache支持dso方式

  2.php

  在如下页面下载php的for Linux 的源码包

  http://www.php.net/downloads.php ;

  存至/home/wj目录

  命令列表:

  cd /home/wj
  tar -zxvf php-5.0.4.tar.gz
  mv php-5.0.4 php
  cd php
  ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-MySQL
  make
  make install

  其中apache和mysql是根据你安装的目录名变,我的是 =/usr/local/apache2/bin/apxs 和MySQL

  cp php.ini-dist /usr/local/lib/php.ini

  以dso方式安装php至/usr/local/php 设置配置文件目录为/usr/local/lib 开启mysql,xml支持

  3.配置

  vi /usr/local/apache/conf/httpd.conf

  对apache做如下配置

  #将ServerAdmin mailto:[email protected]一行改为您的邮箱地址
  #DocumentRoot "/home/httpd/html/" 此处为html文件主目录
  # 同上
  #Options FollowSymLinks MultiViews 为安全起见,去掉"Indexes"
  #
  # DirectoryIndex default.php default.phtml default.php3 default.html default.htm
  #

  #设置apache的默认文件名次序

  #AddType application/x-httpd-php .php .phtml .php3 .inc
  #AddType application/x-httpd-php-source .phps

  #设置php文件后缀

  存盘退出

  vi /usr/local/lib/php.ini
  #register-golbals = On

  存盘退出

  4.启动服务

  /usr/local/apache/bin/apachectl start

  5.测试

  然后写个php测试页info.php:内容如下

  〈?php
  phpinfo();
  ?>

  正常的话,应该能看到php的信息了,恭喜你的Apche+Mysql+PHP安装成功。

  6、apache自动启动- -

  下面用自启动apache为例;

  自启动脚本:

  /usr/local/apache/bin/apachectl start

  文件位于/etc/rc.d/init.d下,名为apached,注意要可执行.

  #chmod +x /etc/rc.d/init.d/apached //设置文件的属性为可执行
  #ln -s /etc/rc.d/init.d/apached /etc/rc3.d/S90apache //建立软连接,快捷方式
  #ln -s /etc/rc.d/init.d/apached /etc/rc0.d/K20apache

-----------------------------------------------------------------------------------------------------

linux启动80端口:在Linux下查看端口的使用情况及启动

netstat   -anp|grep 8088    // 查看8088端口使用情况
Netstat -tln 命令是用来查看的端口使用情况
 
/etc/init.d/vsftp start 是用来启动ftp端口~!

看文件/etc/services
 
netstat
 
  查看已经连接的服务端口(ESTABLISHED)
 
  netstat -a
 
  查看所有的服务端口(LISTEN,ESTABLISHED)
 
  sudo netstat -ap
 
  查看所有的服务端口并显示对应的服务程序名
 
  nmap <扫描类型><扫描参数>
 
  例如:
 
  nmap localhost
  nmap -p 1024-65535 localhost
  nmap -PT 192.168.1.127-245
 
  当我们使用 netstat -apn 查看网络连接的时候,会发现很多类似下面的内容:
 
  Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
   tcp 0 52 218.104.81.152:7710 211.100.39.250:29488 ESTABLISHED 6111/1
 
  显示这台开放了7710端口,那么这个端口属于哪个程序呢?我们可以使用 lsof -i :7710 命令来查询:
 
  COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
   sshd 1990 root 3u IPv4 4836 TCP *:7710 (LISTEN)
 
  这样,我们就知道了7710端口是属于sshd程序的。

 

-------------------------------------------------------------------------------------------
Iptable -A Input -p Tcp -d 自己的IP地址 b --dPort 端口 -J Reject

打开 linux 防火墙端口
vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

保存后重新启动 iptables
chkconfig iptables on
以后每次启动iptables就会自动读取配置文件(/etc/sysconfig/iptables)
自动启动
或者是/etc/rc.d/init.d/iptables start手工启动
/etc/rc.d/init.d/iptables stop手工停止

--------------------------------------------------------------------------------------------

 

转载于:https://www.cnblogs.com/anjing/archive/2009/02/11/1388498.html

你可能感兴趣的:(linux-mysql-php-apache自学)