ubuntu服务器配置

来源:互联网 发布:域普软件怎样 编辑:程序博客网 时间:2024/05/23 19:26
一 在管理控制后台,安装ubuntu操作系统
二 安装ftp软件
       1   apt-get update 更新源列表
           apt-get install vsftpd
          增加ftp目录 mkdir /home/ftp
          chgrp www-data /home/ftp 改变当前用户组为www-data
           chmod 775 /home/ftp 改变权限让用户组也有上传文件权限
          
          增加ftp用户
          useradd -g www-data -d /home/ftp -M xx
          passwd xx 增加用户密码。
          如果觉得麻烦,直接以www-data用户登陆也可以。
      2    默认情况下,ftp只能匿名登陆
         vi /etc/vsftpd.conf 修改配置
          anonymous_enable=NO 不让匿名用户登陆
          local_enable=YES 设置允许本地用户登陆,
          write_enable=YES 开启才可以上传文件
     
          chroot_local_user=YES  设置允许本地用户登陆
          chroot_list_enable=YES 
          chroot_list_file=/etc/vsftpd.chroot_list
          这两项设置可以登陆用户的用户名文件列表
          vi /etc/vsftpd.chroot_list 增加用户名,每一行代表一个用户
          service vsftpd restart 重启服务完成登陆
三 安装apache
       1.   apt-get install apache2
       2    vi /etc/apache2/ports.conf
          NameVirtualHost *:8090
            Listen 8090 修改默认的80端口
     3 vi /etc/apache2/sites-available/default
          <VirtualHost *:8090> 修改为你设置的端口
          在空行处
           ServerName 你的域名 这里配置的是根目录 /var/www的域名
          service apache2 restart
          域名:8090测试配置是不是成功
     4 创建apache ftp用户 ubuntu默认以www-data组www-data
          用户运行apache
          useradd -g www-data -d /home/ftp -M xuen
          passwd 设置密码
     5 建立链接文件,项目目录链接到ftp目录
          ln -s /home/ftp/realplay /var/www/realplay
          ln -s /home/ftp/iptv /var/www/iptv
     6 开启apache重定向
         将 rewrite.load 添加到 /etc/apache2/mods-enabled, 执行下列命令:
      sudo ln -s /etc/apache2/mods-available/rewrite.load  /etc/apache2/mods-enabled/ 
      编辑 apache 的配置文件:
            sudo vi /etc/apache2/sites-enabled/000-default
           将 <Directory /var/www /> 里面 AllowOverride 的值改为 All 
           重启 apache :
四 安装mysql
     1 apt-get install mysql-server mysql-client
          安装过程要你输入mysql root用户密码
五 安装php
     1 sudo apt-get install php5
     2 安装常用扩展
         apt-get install  php5-curl  php5-gd  php5-mysql
           php5-mysql 会安装mysql扩展和pdo_mysql驱动
六 安装redis服务
      1 apt-get install redis-server
      2 注意redis 中使用命令
      3 安装PHP扩展            
      wget http://open.imop.us/pr.tar.gz
      解压,进行目录
       phpize(没有这个命令,要安装 apt-get install php5-dev )
        ./configure
        make
          make install
          cd /etc/php5/apache2/conf.d 创建一个redis.ini文件
          写入extension=redis.so
          重启apahce便可。
     4 redis配置不用修改,我这里给它增加了一个口令
          vi /etc/redis/redis.conf
          增加一行 requirepass 198721 重启服务
      5 redis-cli -a 198721 用于本地登陆
          注意 默认redis只能本地访问
七 安装coreseek(sphinx)
         1 下载 wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz
      2  安装其它软件包apt-get install make gcc g++ automake libtool mysql-client libmysqlclient15-dev libxml2-dev libexpat1-dev
      3 安装分词
                1. cd mmseg-3.2.14
               2.ubuntu环境下,需要使用ACLOCAL_FLAGS="-I                         
          
/usr/share/aclocal" ./bootstrap
               其它linux用 ./bootstrap,这一步是必须的,不然会无法安装,
               配置:./configure --prefix=/usr/local/mmseg3
          3.make && make install 安装
          4./usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc                  
            
src/t1.txt 测试是不是正确安装了
     4 安装coreseek
           1. cd csft-3.2.14
               2. sh buildconf.sh
          3 ./configure --prefix=/usr/local/coreseek  --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql
          安装之前最好先安装mysql,再指定选项,不然可无法使用Mysql数据源.
        4  make && make install
        5 测试  /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx-min.conf.dist
八 导入数据库并配置主从同步
     1.备份数据库 主服务器上的操作
          flush tables with read lock:此句表示全局锁定数据库写操作,只可以读。注意,执行
          此命令后,写操作会被挂起。
          flush logs 重新生成一个二进制日志文件,记下当前日志文件名称 
          用show master status可以查看
          使用mysqldump命令备份数据库
          mysqldump -uroot -ppassword dbname|gzip>/home/ftp/db.sql.gz
          unlock tables 解锁。
            以上也可用一条命令解决
          mysqldump -uroot -p --lock-tables --events --triggers --routines --flush-logs --master-data=2 --databases test > db.sql
          使用curl命令将备份的数据库ftp到新服务器中
          curl -T /home/ftp/db.sql.gz ftp://ftpname:ftpuser@ftp地址:21/ 
     2 新服务器数据库配置
          创建对应的数据库,使用source命令将导入数据库数据
          vi  /etc/mysql/my.cnf 找到mysqld 配置节点
          server-id 表示数据库 ID号,此ID号不能与其它服务器重复
          log_bin 配置打开,表示开启二进制日志
          replicate_do_db选项用于指定要同步的数据库,多个库用多行表示
        replicate-ignore-db 表示不同步的数据库。如查都没有设置表示同步所有数据
          库
          #binlog_do_db          
          #binlog_ignore_db 这两个选项表示记录和不记录数据库二进制日志,
          通常在主数据库中设置。
               重启msyql服务
           进入msyql控制台
          stop slave
            change master to master_host='192.168.0.12',master_user='user', master_password='password',master_log_file="mysql- bin.000001",master_log_pos=0;
          start slave;
          show slave status\G 查看配置状态
九 配置sphinx
     1.sphinx配置相当复杂。这里只用到常用的配置选项。
          source singer
{
    type                    = mysql

    sql_host                = localhost
    sql_user                = root
    sql_pass                = pass
    sql_db                    =test
    sql_port                = 3306
    sql_query_pre            = SET NAMES utf8

    sql_query                = SELECT ID, albumName,tags,keywords,hit_count,flag FROM albumName_mv \
                    order by flag desc,hit_count desc
                                                              #sql_query第一列id需为整数
                                                              #title、content作为字符串/文本字段,被全文索引
   # sql_attr_uint            = group_id           #从SQL读取到的值必须为整数
   # sql_attr_timestamp        = date_added #从SQL读取到的值必须为整数,作为时间属性

     sql_attr_uint             = flag
       sql_attr_uint              =hit_count 
       sql_query_info_pre      = SET NAMES utf8                                        #命令行查询时,设置正确的字符集
    sql_query_info            = SELECT * FROM albumName_mv WHERE ID=$id #命令行查询时,从数据库读取原始数据信息
}

#index定义
index singer
{
    source            = singer            #对应的source名称
    path            = /usr/local/coreseek/var/data/singer #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
    docinfo            = extern
    mlock            = 0
    morphology        = none
    min_word_len        = 1
    html_strip                = 0
    enable_star            =      1
    infix_fields    =   keywords#这里使用到了中缀索引,以支持a*类似的查询。
    min_infix_len    =   1
    #中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/
    charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾
   # charset_dictpath = etc/                             #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...
    charset_type        = zh_cn.utf-8
}
     2 searchd indexer配置通常情不用修改。
     3 关于增量索引配置请看官方文档。