Linux下安装Apache PHP MYSQL

Linux下安装Apache PHP MYSQLLinux 下安装 Apache1 解压 tar zxvfhttpd 2 2 15 tar gz2 进入 httpd 2 2 15 目录 运行 admin testhttpd 2 2 15 configurepre home admin apacheenable soenable mods shared mostwith mpm workerprefix 指明编译后的二进制文件安装到目录 用实际安装路径替换 如 prefix usr

Linux下安装Apache

1.解压 tar -zxvf httpd-2.2.15.tar.gz

2.进入httpd-2.2.15目录,运行

[admin@test httpd-2.2.15]$./configure --prefix=/home/admin/apache --enable-so --enable-mods-shared=most --with-mpm=worker 

prefix=

指明编译后的二进制文件安装到

目录,用实际安装路径替换

,如–prefix=/usr/local/apache-2.2.15 ,如果省略此配置参数,默认安装 到/usr/local/apache2目录。


–enable-so 指明编译动态加载模块(DSO)支持到httpd二进制文件,此模块使得Apache的各功能模块可以与核心分开编 译、运行时动态加载。有了DSO支持,升级和增加模块时只需编译相关的模块即可,不必重新编译整个系统。最新版本的 Apache缺省编译此模块到httpd二进制文件,如果你在使用早期版本的apache并且需要DSO支持,可能要明确指出此选项。

–enable-mods-shared=

明确指明要以DSO方式编译的模块,

为空格分隔的模块名列 表、all或者most,all表示包含所有模块,most表示包含大部分模块,如 –enable-mods-share=”rewrite deflate”,–enable-mods-share=most,效果等同于多个 –enable-

=share


–with-mpm=

先择Apache多路处理模块,

={beos|event|worker|prefork|mpmt_os2},prefork为 Unix系统下默认处理模块,它将运行一个非线程型的、预派生的Web服务器,适合于没有线程安全库,需要避免线程兼容性问 题的系统,它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。worker 为支持混合的多线程多进程的多路处理模块,由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于 进程的MPM,同时,它也使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性。如果你的系统是基于线 程安全的,那么建议使用worker替代prefork,它将使得你的系统得到实际的性能改善。

4.[admin@test httpd-2.2.15]$ make install

5.配置http.conf (注意80端口是否被占用,linux下使用1024之内的端口需要root或sudo权限

User admin

Group admin

上面2个配置是Apache的安全保证,Apache在打开端口之后,就将其本身设置为这两个选项设置的用户

和组权限进行运行,这样就降低了服务器的危险性。这个选项也只用于 Standalone模式,inetd模式在inetd.conf中指定

运行Apache的用户。由于服务器必须执行改变身份的setuid()操作,因此初始进程应该具备root权限,如果是使用非root

用户来启动Aapche,这个配置就不会发挥作用。

 

 

[admin@test bin]$ ./apachectl -k start 

 Linux下安装PHP

1.解压,进入目录,同apache

2.运行

[admin@test php-5.2.14]$ ./configure --prefix=/home/admin/php --with-apxs2=/home/admin/apache/bin/apxs --with-config-file-path=/home/admin/php/lib 

3.运行make和make install ,同apache,

复制php.ini-recommended到php的lib目录下,改名为php.ini

修改apache配置文件,加入AddType application/x-httpd-php .php

[admin@test curl-7.13.0]$ ./configure --prefix=/home/admin/curl [admin@test curl-7.13.0]$ make [admin@test curl-7.13.0]$ make install 

此处注意make时可能会报错gcc: /usr/lib/libidn.so: No such file or directory 解决方法:

方法一: 执行ln -s /usr/lib64/libidn.so.11.4.6 /usr/lib/libidn.so

一定要注意你的libidn的版本号和lib目录,跟机器位数相关,此处测试的机器是64的,所以选择lib64.

方法二: ./configure –prefix=/home/admin/curl –with-libidn=/usr/lib64 即指定路径,还要运行autoreconf.

方法三: ./configure LDFLAGS=-L/usr/lib64 (指定一个环境变量,这个就是告诉gcc去哪儿找.so文件)

然后编译生成扩展,进入php源码目录

[admin@test php-5.2.14]$ cd ext/ [admin@test ext]$ cd curl/ [admin@test curl]$ /home/admin/php/bin/phpize [admin@test curl]$./configure --with-curl=/home/admin/curl --with-php-config=/home/admin/php/bin/php-config [admin@test curl]$make [admin@test curl]$ make install Installing shared extensions: /home/admin/php/lib/php/extensions/no-debug-zts-/ [admin@test curl]$ cd /home/admin/php/lib/php/extensions/no-debug-zts-/ [admin@test no-debug-zts-]$ ls curl.so [admin@test no-debug-zts-]$ 

可以看到curl.so已经生成了,在php.ini里,设置扩展目录: extension_dir = /home/admin/php/lib/php/extensions/no-debug-zts-/” 并添加扩展模块引用: extension = curl.so 重启apache即可

[admin@test php-5.2.14]$ cd ext/ [admin@test ext]$ cd pdo_mysql/ [admin@test pdo_mysql]$ /home/admin/php/bin/phpize [admin@test pdo_mysql]$ ./configure --with-php-config=/home/admin/php/bin/php-config [admin@test pdo_mysql]$ make [admin@test pdo_mysql]$ make install 

最后修改php.ini加入extension=pdo_mysql.so,重启apache即可

./configure --prefix=/home/admin/php --with-apxs2=/home/admin/apache/bin/apxs --with-config-file-path=/home/admin/php/lib --with-mysql=/home/admin/mysql --with-pdo-mysql=/home/admin/mysql --with-curl=/home/admin/curl --enable-mbstring 

 Linux下安装MySQL

1.解压mysql的源码包mysql-5.1.50.tar.gz,切换到安装目录下

./configure --prefix=/home/admin/mysql --sysconfdir=/home/admin/mysql --localstatedir=/home/admin/mysql/data --with-unix-socket-path=/home/admin/mysql/tmp/mysql.sock --with-charset=gbk --with-plugins=innobase --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static 

sysconfdir表示mysql的配置文件路径,localstatedir表示数据文件路径,socket配置和最后2个属性主要用来提升性能

如果要使用innodb引擎,记得加上–with-plugins=innobase

 make 
 make install 

2.复制/home/admin/mysql/share/mysql/my-medium.cnf 到mysql根目录下,改名为my.cnf

切换到mysql的bin目录下,运行

./mysql_install_db --basedir=/home/admin/mysql --datadir=/home/admin/mysql/data 

3.复制/home/admin/mysql/libexec/mysqld到mysql的bin目录下,启动mysql服务

/home/admin/mysql/bin/mysqld_safe --ledir=/home/admin/mysql/bin --log-error=/home/admin/mysql/data/t.err --datadir=/home/admin/mysql/data --socket=/home/admin/mysql/tmp/mysql.sock --pid-file=/home/admin/mysql/data/mysqld.pid & 

再用ps命令查看mysql是否启动,如果不能启动用netstat命令检查3306端口是否被占用,如果是则修改my.cnf的端口配置。

切换到mysql的bin目录下,运行 ./mysqladmin -u root password ‘123’ 来修改root登录密码

修改/home/admin/mysql/share/mysql/mysql.server代码

pid_file=/home/admin/mysql/data/mysqld.pid 

停止mysql服务

/home/admin/mysql/share/mysql/mysql.server stop 

为了方便,可以把启动和停止mysql服务命令写成shell脚本.

建议在my.cnf中添加sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202041.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午8:01
下一篇 2026年3月20日 上午8:01


相关推荐

  • DOCKER学习笔记(MAC)

    DOCKER学习笔记(MAC)

    2021年5月11日
    108
  • 待字闺中之巧妙排序分析:[通俗易懂]

    待字闺中之巧妙排序分析:

    2022年1月28日
    45
  • Java并发的CAS原理详解[通俗易懂]

    Java并发的CAS原理详解[通俗易懂]Java并发编程中的CAS原理是很重要的概念。CAS加volatile关键字是实现并发包的基石。没有CAS就不会有并发包,synchronized是一种独占锁、悲观锁,java.util.concurrent中借助了CAS指令实现了一种区别于synchronized的一种乐观锁。乐观锁和悲观锁的概念请参考Java中的21种锁。在Java中java.util.concurrent.atomic包下面的原子变量就是使用了乐观锁的一种实现方式CAS实现。在JDK5之前Java语言是靠synchroniz

    2022年10月10日
    6
  • Vuex的使用(五)——mapGetters的定义和用法[通俗易懂]

    Vuex的使用(五)——mapGetters的定义和用法[通俗易懂]参考文档:https://vuex.vuejs.org/zh/guide/当需要在组件中使用多个getters时,可以利用mapGetters批量生成计算属性(新增文件路径为src\components\componentE.vue),代码如下:mapGetters用法gettersinvuex:{{param2}}引用上面创建的component-e查看效果(修改文件路径为src\main.js),代码如下:imp

    2022年5月22日
    60
  • elf 变异upx 脱壳

    elf 变异upx 脱壳题目是某ctf题首先使用IDA打开:函数极少,有壳。查看函数这个跳转比较可疑下面进行IDA动态调试进入loc_52D516再进入直到找到jmpr13运行到这里,F8跳转直接retn下断点F9,直接retn下断点F9重复,直到遇到一个大跳转单步,然后return来到了程序入口下面dump脱壳(转储的意思)。dump要使用脚本,因为我是个菜鸡,直接在网上找的脚本,通用的。idc脚本下载可以存放在ida里面有个脚本的文件夹idc,源码后面会附上首先在D盘下

    2022年7月12日
    19
  • tomcat8 JVM 优化

    tomcat8 JVM 优化在Linux环境下设置TomcatJVM,在/opt/tomcat/bin/catalina.sh文件中找到"#—–ExecuteTheRequestedCommand"位置,设置JVM如下:#—–ExecuteTheRequestedCommand—————————————–JAVA_OPTS="$JA…

    2022年5月16日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号