利用lnmp平台搭建crm系统
1、lnmp 搭建步骤
Lnmp 是Linux 环境下,用nginx,MySQL,php 三种服务搭建的网站服务器架构
Nginx安装之前需要安装编译环境和依赖包.
Yun –y install gcc gcc-c++ pcre-devel openssl-devel
Nginx默认的用户一般的www 检查www用户是否存在 cat etc/passwd | gerp –I www
如果没有 useradd –s /sbin/nologin –M www
下载完成解压缩 tar –xvf nginx-1.8.0.tar.gz –C /usr/loca/
到解压的目录下 ./configure – 后面根据需要写上相应的参数。
192.168.1.210(这个根据自己的实际情况)服务器的 /usr/local/nginx-1.8.0/nginx-config.sh 里面写了常用的一些参数,可以直接 sh 运行
Make && make install 编译安装
2、MySQL 安装
MySQL安装之前需要创建用户和组
Useradd -s /sbin/nologin –M mysql
安装编译安装需要的依赖包
Yum – y install cmake make gcc-c++ gcc bison-devel ncurses-devel
解压源码包tar zxvf mysql-5.6.20.tar.gz
Cd到解压的MySQL源码包的路径
MySQL高版本的安装需要cmake编译工具
Cmake – 后面写上各种安装参数
cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql \
-DSYSCONFDIR=/opt/mysql/etc \
-DMYSQL_DATADIR=/opt/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
Make && make install
编译安装完成之后初始化数据库
Cd/usr/local/mysql
./scripts/mysql_install_db --user=mysql
创建数据库只配置文件
Cd mysql-5.6.20/support-files/
Cp my-medium.conf /etc/my.cnf
启用数据库服务
/usr/local/mysql/bin/mysqld_safe --user=mysql & 启动的时候可能会卡在那所以推荐后台运行
设置数据库管理员登陆密码
/usr/local/mysql/bin/mysqladmin -hlocalhost -uroot password "123"
登陆数据库
/usr/local/mysql/bin/mysqladmin -uroot -hlocalhost -p123
附: cmake安装时候可能会报错
CMake Error at cmake/readlineNaNake:82 (MESSAGE):
Curses library not found. Please install appropriate package,
解决办法 yum –y install ncurses-devel ; rm –rf CMakeCache.txt
(CMakeCache.txt要是找不到可以用 find -/ -name CMakeCache.txt)
3、Php源码安装
Php安装之前先要安装各种扩展功能包基本都可以用yum安装。不过由于需要和悟空crm平台配合使用其中的curl功能扩展需要进行源码安装
Yum –y install mhash libiconv Libmcrypt libmcrypt libltdl
源码安装curl
tar –xvf curl-7.42.1.gz
cd curl-7.42.1
./configure
Make && make install
配置编译时使用的动态库
Vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/mysql/include
/usr/local/mysql/lib
配置编译安装需要的一些软链接
ln -sv /usr/local/lib/libmcrypt.* /usr/lib/
ln -sv /usr/local/lib/libmhash.* /usr/lib/
解压缩源码包 tar –xvf php-5.4.9.tar.gz
Cd php-5.4.9
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap
鉴于选项过多输入的时候可能会出错个人建议写个简单的脚本
编译并安装
Make && make install
编译过程中可能会出错
configure: error: xml2-config not found. Please check your libxml2 installation.
解决办法yum -y install libxml2-devel
configure: error: Please reinstall the libcurl distribution -
easy.h should be in <curl-dir>/include/curl/
解决办法yum -y install libcurl-devel
configure: error: jpeglib.h not found.
解决办法yum -y install libjpeg-turbo-devel
configure: error: png.h not found.
configure: error: Cannot find ldap.h
解决办法yum -y install openldap.i686 openldap-devel.i686
configure: error: LDAP SASL check failed. Please check config.log for more information.
解决办法yum -y install openldap-devel.x86_64
configure: error: wrong mysql library version or lib not found. Check config.log for more information.
解决办法 ./configure 后面的--with-mysqli=/usr/local/mysql/bin/mysql_config去掉。
创建php程序的主配置文件 php.ini
cd php-5.4.9
cp php.ini-developent /usr/local/php/etc/php.ini
创建fast-cgi的主配置文件
cd /usr/local/php/etc/
mv php-fpm.conf.default php-fpm.conf
启动fast-cgi服务(作用管理php程序)
cd php-5.4.9/sapi/fpm/
cp init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
service php-fpm restart
4、把nginx 跟 php 关联起来
让nginx把自己接收到的访问php文件的请求给本机的9000端口
vim //usr/local/nginx/conf/nginx.conf (去掉以下行的注释)
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
:wq
vim /usr/local/nginx/conf/fastcgi_params (添加如下一行)
astcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
:wq
重启nginx服务
测试
通过nginx服务器访问php代码文件
vim /usr/local/nginx/html/test.php
<?php
echo "hello world!!!";
?>
:wq
elinks –dump http://localhost/test.php
vim cat /usr/local/nginx/html/test2.php
<?php
phpinfo();
?>
Elinks –dump http://localhost/test2
把php跟MySQL关联起来
vi /usr/local/php/etc/php.ini
asp_tags = Off
asp_tags = On
:wq
/etc/init.d/php-fpm stop
/etc/init.d/php-fpm start
测试 php 能否连接mysql数据库?
vim /usr/local/nginx/html/linkdb.php
<?php
$linkdb=mysql_connect("localhost","root","123");
if($linkdb){
echo "link db ok";
}else{
echo "link db no";
}
?>
:wq
Elinks –dump http://localhost/linkdb.php
结果应该是lindb ok
5、安装crm
安装之前需要修改nginx 和 php 进程的所有者和所有者对crm文件的写入权限。
Vi /usr/local/nginx/conf/nginx.conf
把user 那行注释去掉nobody 换成 www
Vi /usr/local/php/etc/php.fpm.conf
把user 跟 group 都改成 www
Tar –xvf v0.5.1.tar –C /usr/loca/nginx/html
Chmod o+w -R v0.5.1
在浏览器上打开http://192.168.1.210/V0.5.0/index.php
进行安装