设为首页 收藏本站
查看: 870|回复: 0

[经验分享] LINUX+APACHE+MYSQL+PHP+SVN+SVNMANAGER编译安装配置

[复制链接]

尚未签到

发表于 2018-11-28 13:20:37 | 显示全部楼层 |阅读模式
  Linux:                            CentOS5.4
  Apache:                        httpd-2.2.14.tar.bz2
  Mysql:                           mysql-5.0.22.tar.gz
  Php:                               php-5.2.12.tar.gz
  Svn:                               subversion-1.6.6.tar.bz2
  Svn deps:                     subversion-deps-1.6.6.tar.bz2
  Svnmanager:               svnmanager-1.08.tar.gz
  1.安装apache
  tar jxvf httpd-2.2.14.tar.bz2                               //解包
  cd httpd-2.2.14                                                     //进来准备编译安装apache
  mkdir /usr/local/apache2                                   //这个目录用来安装apache
  ./configure --prefix=/usr/local/apache2 --enable-so --enable-dav --enable-dav-fs --enable-maintainer-mode                                                //so是开启动态库支持,svn要求apache必须启用so,dav和dav-fs是将来svn认证用的,maintainer是开启调试模式不加亦可。
  make;make install                                                //编译并安装
  id apache                                                           //确认apache用户不存在
  useradd apache                                                   //添加apache用户,将来apache就以这个用户运行
  chown -R apache.apache /usr/local/apache2             //更改apache安装目录属主、组,这个不是必须的
  vi /usr/local/apache2/conf/httpd.conf                          //修改apache配置文件,让它以用户apache身份运行
  修改User和Group均为apache
  esc                                                                       //按esc退出编辑模式
  shift+zz                                                              //按住shift键然后按两次z键,即保存退出。
  2.安装mysql
  tar zxvf mysql-5.0.22.tar.gz                               //解包
  cd mysql-5.0.22                                                    //进去准备编译安装
  mkdir /usr/local/mysql                                       //先创建个安装目录
  ./configure --prefix=/usr/local/mysql               //指定安装目录为刚创建的/usr/local/mysql
  make;make install                                              //编译并安装
  id mysql                                                               //确认mysql用户不存在
  useradd mysql                                                    //要是mysql用户已经存在了,可就不要在useradd了哦。
  /usr/local/mysql/bin/mysql_install_db --user=mysql                  //以用户mysql身份创建默认库
  /usr/local/mysql/bin/mysqld_safe &                                              //让mysql启动,并在后台运行
  /usr/local/mysql/bin/mysql -u root password gaso123              //给root用户加个密码,挡一挡菜鸟***:)
  3.安装SVN
  tar jxvf subversion-1.6.6.tar.bz2                      //解包后得到subversion-1.6.6目录
  tar jxvf subversion-deps-1.6.6.tar.bz2             //这个是SVN的依赖包,解压后自动放在subversion-1.6.6目录里,本来这个依赖包里主要是要用到apr和apr-util,但是我们安 装apache的时候已经默认安装上这两个模块了,所以剩下个neon模块在这包里(我不太确定这个是否是必须的)是我们需要用的。
  cd subversion-1.6.6
  mkdir /usr/local/svn                                             //svn将就装这里面
  ./configure --prefix=/usr/local/svn  --with-apxs=/usr/local/apache2/bin/apxs  --with-apr=/usr/local/apache2/bin/apr-1-config  --with-apr-util=/usr/local/apache2/bin/apu-1-config
  //prefix还是指定安装目录,apxs指定apache配置,这个apxs应该是里面涵盖了apache的安装目录配置文件目录模块目录执行 目录等等的位置参数,指定了它的位置apache就整个显形了,svn就能知道想知道的关于apache的一切(这个参数很好很强大哦),withapr 和aprutil这两个我推测即使不指定svn也能找到它,因为apxs很好很强大嘛,但没试验过,有兴趣的同学可以试下。
  make;make install
  4.检查svn安装配置
  mkdir -p /app/svn                                                                  //这个目录将作为svn的版本库的总(父)目录使用
  vi /usr/local/apache2/conf/httpd.conf                                //apache的配置需要做些检查和更改
  LoadModule dav_svn_module      modules/mod_dav_svn.so
  LoadModule authz_svn_module    modules/mod_authz_svn.so             //有这两个模块则svn安装是正确的,若是带#注释的就把#删掉,同时要保证/usr/local/apache2/modules目录下有mod_dav_svn.so和mod_authz_svn.so这两个文件。
  手动添加以下内容:
                                                                        //定义网页目录为/svn
  DAV svn                                                                                   //开启svn(融合apache的svn哦)
  SVNListParentPath On                                                           //开启svn版本库父目录功能
  SVNParentPath /app/svn                                                      //指定父目录位置,以后所有版本库都将存放在该目录下
  AuthType Basic                                                                       //指定授权模式
  AuthName "SVN REPOS"                                                       //登陆窗口标题显示SVN REPOS
  AuthUserFile /usr/local/svn/svn_passwdfile                     //指定访问版本库的账户和密码存放文件,该文件需要用apache的htpasswd命令创建
  AuthzSVNAccessFile /usr/local/svn/svn_accessfile         //指定访问版本库的用户和组的权限控制文件
  Require valid-user                                                              //要求有效的用户才能访问
                                                                             //字段结束标志
  esc                                                                                            //按esc退出编辑模式
  shift+zz                                                                                     //保存退出
  5.测试svn与apache是否融合成功
  /usr/local/apache2/bin/htpasswd -c /usr/local/svn/svn_passwdfile gaso             //创建访问版本库的账户和存放账户的文件,回车后会提示输入密码两边(我们用gaso123做密码),因为是第一次创建,svn_passwdfile 文件原本不存在所以需要加-c参数,以后创建svn用户就不需要-c参数了,直接引用svn_passwdfile文件即可
  vi /usr/local/svn/svn_accessfile
  [/]
  gaso=rw                                      //这两行授权用户gaso有访问所有版本库的权限
  [gasorepo:/]
  gaso=rw                                       //这两行授权用户gaso有访问gasorepo版本库的权限
  保存退出
  /usr/local/svn/bin/svnadmin create /app/svn/gasorepo       //创建gasorepo版本库
  6.启动apache,测试svn
  chown -R apache.apache /app/svn                                   //我们这个部署里svn是通过apache对版本库进行访问的,它对版本库进行访问其实就是通过apache的用户apache来进行的,所以版本库父 目录就必须属于用户apache才能规避权限问题,最后的svnmanager也有同样的问题,所以这个属主修改很重要!
  /usr/local/apache2/bin/httpd -k start                                                           //启动apache
  在浏览器里输入http://localhost/svn/gasorepo                                             //输入用户名gaso和密码gaso123就可以看到版本库了,不过里面没东西:)
  也可以直接访问http://localhost/svn                                                              //这个直接访问版本库总目录
  7.安装php
  tar zxvf php-5.2.12.tar.gz
  cd php-5.2.12
  mkdir /usr/local/php
  ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql                                                  //php用apxs2指定apache2.0,用apxs指定apache1.x,所以这里用apxs2,因为svnmanager要用到mysql所 以这里还要withmysql
  make;make install
  cp php.ini-recommended /usr/local/php/lib/php/php.ini          //拷贝php的配置文件到它该去的地儿
  编辑这个php.ini,添加一行include_path = /usr/local/php/lib/php
  8.测试php安装是否成功:
  vi /usr/local/apache2/conf/httpd.conf                                //修改apache配置文件
  检查是否有以下内容,没有则添加:
  LoadModule php5_module         modules/libphp5.so      //没有这个模块就手工添加,同时要检查apache的安装目录里modules目录下,要保证有libphp5.so这个文件
  DirectoryIndex index.php index.html                                //主要是加上index.php
  vi /usr/local/apache2/htdocs/index.php                         //编辑一个php测试文件
  加入以下内容:
  
  保存退出
  重新启动apache
  /usr/local/apache2/bin/httpd -k restart
  访问http://localhost
  能看到apache的php信息页面则说明php安装成功
  9.安装VersionControl_SVN
  /usr/local/php/bin/pear install VersionControl_SVN-0.3.3                           //pear是安装php的时候默认安装的,VersionControl_SVN这个软件是svnmanager需要用到的,必须安装
  10.安装svnmanager
  tar zxvf svnmanager-1.08.tar.gz
  cp -r svnmanager-1.08 /usr/local/apache2/htdocs/svnman                       //把解压出来的文件复制到apache的站点根目录htdocs里
  cd /usr/local/apache2/htdocs/svnman/
  cp config.php.linux config.php                                                                     //把配置文件重命名一下
  编辑config.php,修改以下几项内容:
  //Shell command's
  $htpassword_cmd                          =        "/usr/local/apache2/bin/htpasswd";           //告诉svnmanager apache的密码生成执行文件的位置
  $svn_cmd                                         =        "/usr/local/svn/bin/svn";                             //告诉svnmanager svn命令的执行目录
  $svnadmin_cmd                            =        "/usr/local/svn/bin/svnadmin";                    //告诉svnmanager svnadmin命令的执行目录
  //Subversion locations
  $svn_config_dir                          =        "/app/svn";                                                        //告诉svnmanager svn的配置目录,通常指到版本库父目录或者版本库目录即可
  $svn_repos_loc                           =        "/app/svn";                                                        //告诉svnmanager  svn的版本库父目录在哪里,这个跟上面那个configdir我也搞不清楚到底有什么区别,我一般就是指到版本库父目录就没问题,上面的 configdir要是注释掉则会报错
  $svn_passwd_file                         =        "/usr/local/svn/svn_passwdfile";                //告诉svnmanager svn的账户密码文件的位置
  $svn_access_file                         =        "/usr/local/svn/svn_accessfile";                  //告诉svnmanager svn的权限控制文件的位置
  $dsn                                     =        "mysql://root:gaso123@localhost/svnman";         //指定mysql连接的信息,这行要注意原文可能是mysqli://多数情况下都需要改成mysql://,有时候不改可能会导致连不上mysql,最后的svnman为svnmanager将要使用的数据库,会在后面创建。
  $admin_name                                              =        "admin";                                          //本行和下面一行指定svnmanager首次登陆的初始账号和密码,这两行就不需要改了
  $admin_temp_password                     =        "admin";
  保存退出
  11.创建svnmanager使用的数据库
  /usr/local/mysql/bin/mysql -u root -p
  输入密码gaso123
  mysql>create database svnman;                                                                                  //刚才在svnmanager的配置文件config.php里面指定的mysql连接信息的那个库就是这个。
  mysql>exit
  12.测试svnmanager安装是否成功
  访问http://localhost/svnman
  默认login信息是admin/admin,注册一个新的账户后admin账户就会被屏蔽掉了,这样用新用户登录就会出现管理svn的诸多选项,以后就用这个新账户管理svn就可以了,创建版本库,设置账户,设置权限,导入导出,功能还是可以的。
  如果不是本机访问,会有权限问题,用svnmanager所在主机的ip访问:
  http://svnmanager-host-ip/svnman
  注册新账户时,会有提示说明修改什么文件才能远程登录svnmanager进行管理。说明的很清楚,不再赘述。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-640775-1-1.html 上篇帖子: apache rewrite_mod flags小结 下篇帖子: CentOS 5.5 使用yum来安装 LAMP (Apache+Mysql+php5)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表