Linux使用笔记

  1. yum安装

    1)删除redhat原有yum:#rpm -aq|grep yum|xargs rpm -e --nodeps

    2)下载yum安装文件(注意:以下文件版本会更新,请下载最新版本的文件)

           安装源:http://mirrors.163.com/centos/6/os/x86_64/Packages/

           文件包(共4个)

                       python-iniparse-0.3.1-2.1.el6.noarch.rpm

                       yum-3.2.29-22.el6.centos.noarch.rpm

                       yum-metadata-parser-1.1.2-16.el6.x86_64.rpm    

                       yum-plugin-fastestmirror-1.1.30-10.el6.noarch.rpm      [备注:AS5下文件名为 yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm]       下载示例:#wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-22.el6.centos.noarch.rpm

    3)进行安装yum

            #rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm

            #rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

            #rpm -ivh yum-3.2.29-22.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-10.el6.noarch.rpm 

           注意:最后两个包一定要同时安装,因为存在相互依赖关系

    4)更新repo文件(如果系统存在此文件,则先用mv命令做备份)

          #vi /etc/yum.repos.d/rhel-debuginfo.repo

          rehel-debuginfo.repo文件内容如下:

    [base]

    name=CentOS-$releasever - Base

    baseurl=http://mirrors.163.com/centos/6/os/$basearch/

    gpgcheck=1

    gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

     

    #released updates

    [updates]

    name=CentOS-$releasever - Updates

    baseurl=http://mirrors.163.com/centos/6/updates/$basearch/

    gpgcheck=1

    gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

     

    #packages used/produced in the build but not released

    #[addons]

    #name=CentOS-$releasever - Addons

    #baseurl=http://mirrors.163.com/centos/$releasever/addons/$basearch/

    #gpgcheck=1

    #gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

    #additional packages that may be useful

    [extras]

    name=CentOS-$releasever - Extras

    baseurl=http://mirrors.163.com/centos/6/extras/$basearch/

    gpgcheck=1

    gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

    #additional packages that extend functionality of existing packages

    [centosplus]

    name=CentOS-$releasever - Plus

    baseurl=http://mirrors.163.com/centos/6/centosplus/$basearch/

    gpgcheck=1

    enabled=0

    5)执行命令:#yum clean all

         执行成功后,系统提示如下:(若执行失败,请检查有没执行第1步,即删除redhat自带yum)

         Loaded plugins: fastestmirror

        Cleaning repos: base extras updates

        Cleaning up Everything

    6)yum安装示例:#yum install vim

    7)至此,yum安装完成,接着用yum安装gcc及gcc-c++编译器

        #yum install gcc

        #yum install gcc-c++

    8)yum关于python版本的问题

        如果python版本升级到了2.6,yum install时提“doesn't match the current version of Python, which is:2.6.5”

        #vim /usr/bin/yum

        将第一行的#!/usr/bin/python改为#!/usr/bin/python2.6,保存即可

  2. iptables防火墙

    Redhat防火墙规则存储位置 /etc/sysconfig/iptables

    重启防火墙让修改生效 service iptables restart

  3. RealVNC安装

    1)RealVNC下载

         http://www.realvnc.com/download/vnc/

    2)RealVNC安装

         #tar -zxvf VNC-5.0.0-Linux-x64-RPM.tar.gz

         #rpm -ivh VNC-Server-5.0.0-Linux-x64.rpm

         发现缺少依赖包 xterm

         #yum install xterm

         发现与tightvnc冲突,删除tightvnc

         #rpm -e tigervnc

         再运行安装

    3)修改配置文件

         设置客户端密码

         #vncpasswd

         #vi /root/.vnc/xstartup

         将最后一行twm&改成gnome-session& or kde&

         最后,安装序列号,重启vnc,开启vnc防火墙的端口:5900

         #/usr/bin/vnclicense -add VKNPQ-LRJHT-NA2XH-FJA4N-D9Y6A

  4. FTP安装,版本vsftpd-2.2.2-6.el6_2.1.x86_64,db依赖包  db4-utils

    1)yum安装,开启防火墙21端口

         #yum install vsftpd        #已安装无需重复安装

         #yum install db4-utils    #已安装无需重复安装

    2)用户权限配置

         #touch /etc/vsftpd/chroot_list

         #echo ftp >> /etc/vsftpd/chroot_list        #添加一个用户名ftp,因为安装vsftpd时系统已建立了ftp的用户

         创建DB文件,奇数行为用户名、偶数行为密码

         #vim /etc/vsftpd/vftpuser.pwd

         #db_load -T -t hash -f /etc/vsftpd/vftpuser.pwd /etc/vsftpd/vftpuser.db

         #vim /etc/pam.d/vsftpd

         注释掉所有内容,加上以下内容

         # note above all, add next

         auth    required    /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser

         account    required    /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser

         为每个用户建立单独的配置文件

         #mkdir /etc/vsftpd/vuser_conf

         #cd /etc/vsftpd/vuser_conf

         #vim xxx                           #xxx是ftp登录的虚拟用户名

         xxx文件内容如下,可根据需要修改

         local_root=/var/www

         write_enable=YES

         download_enable=YES

         anon_world_readable_only=NO

         anon_upload_enable=YES

         anon_mkdir_write_enable=YES

         anon_other_write_enable=YES

         local_umask=022

    3)修改主配置文件vsftpd.conf,让其支持以上修改

         #vim /etc/vsftpd/vsftpd.conf

         以下内容如果被#注释的,请去除注释,如果不存在的添加即可

         anonymous_enable=YES/NO                     #是否允许匿名用户访问

         chroot_list_enable=YES                            #限定用户不可以离开主目录

         chroot_list_file=/etc/vsftpd/chroot_list

         local_enable=YES/NO                               #本地用户是否可以访问 注:如果为NO 则所有虚拟用户都将不能访问原因:虚拟用户访问在主机上其实是以本地用户访问的

         anon_umask=022                                   #使用虚拟用户,一定要设置anon的umask权限

         pam_service_name=vsftpd                        #pam认证文件名在/etc/pam.d/vsftpd

         guest_enable=YES                                   #启用虚拟用户功能

         guest_username=ftp                                #指定虚拟用户的宿主用户 –centos 里面已经有内置的ftp用户了(注:此用户在chroot_list_file=/etc/vsftpd/chroot_list文件里所指定的用户)

         user_config_dir=/etc/vsftpd/vuser_conf     #设置虚拟用户个人vsftp的服务配置文件

       (此文件后面不能出现空格)

    4)最后一步,将用户的FTP目录权限设置好,即 local_root指向的路径

         #chmod 777 /var/www/ -R

    mount --bind -o rw /mongodb/htdocs/fensitong /mongodb/vsftpd/fensitong

    mount --bind -o rw /mongodb/htdocs/soudianmao /mongodb/vsftpd/soudianmao

    mount --bind -o rw /mongodb/htdocs/paiquanbao /mongodb/vsftpd/paiquanbao

    mount --bind -o rw /mongodb/htdocs/qiangkebao /mongodb/vsftpd/qiangkebao

    mount --bind -o rw /mongodb/htdocs/zhaokemao /mongodb/vsftpd/zhaokemao

    5)接下来遇到郁闷的问题

         注:我是以虚拟用户安装vsftpd滴

         问题一:500 OOPS: child died

            解决:setsebool -P ftp_home_dir=1

            网上也有说:setsebool -P ftpd_disable_trans 1

         问题二:无访问权限

            查看FTP权限设置#getsebool -a|grep ftp

            解决:setsebool allow_ftpd_full_access  1

  5. SVN安装,版本subversion-1.7.2.tar.bz2

    1)svn安装需要sqlite3依赖,所以先下载sqlite3

    #wget http://www.sqlite.org/sqlite-autoconf-3071100.tar.gz

    #tar jxvf subversion-1.7.2.tar.bz2

    #tar zxvf sqlite-autoconf-3071100.tar.gz

    #cd subversion-1.7.2

    #mkdir sqlite-amalgamation

    此处其实只需要拷贝sqlite的一个.c文件,就能成功编译安装了

    #cp ../sqlite-autoconf-3071100/sqlite3.c   sqlite-amalgamation/

    #./configure --prefix=/usr/server/svn --with-apx=/usr/local/apache/bin/apxs --with-apr=/usr/local/apache/bin/apr-1-config --with-apr-util=/usr/local/apache/bin/apu-1-config --with-ssl

    #make && make install

    2)创建版本库

         #/usr/server/svn/bin/svnadmin create /web/svn_dir/huoba

         #/usr/server/svn/bin/svnadmin create /web/svn_dir/doc

         #/usr/server/svn/bin/svnadmin create /web/svn_dir/java

         #/usr/server/svn/bin/svnadmin create /web/svn_dir/client

         #/usr/server/svn/bin/svnadmin create /web/svn_dir/web

    3)开启svn防火墙端口,打开svnserver默认的3690端口

    4)svn权限管理

         修改所有svn版本库下的conf/svnserve.conf文件,将authz、passwd指向外部链接统一管理

         password-db = /web/svn_dir/passwd

         authz-db = /web/svn_dir/authz

         在svn版本库根目录下(即/web/svn_dir/)新建两个文件authz、passwd,分别编辑权限配置

    5)svn 启动运行

         #/usr/server/svn/bin/svnserve -d --listen-port 3690 -r /web/svn_dir/&

         ※ 参数解析

         -d                表示以daemon方式(后台运行)运行

         -listen-port   监听的端口3690是默认端口

         -r                指版本库的根目录路径

    6)svn相关命令

         查看某个用户的目录权限结果

         #svn co svn://127.0.0.1/arm --no-auth-cache --username rory --password 8809117

     

  6. 挂载iso文件

    1) 挂载

    mkdir /mnt/dvdrom

    mount -o loop -t iso9660 /目录/文件名.iso /mnt/dvdrom     #挂载iso文件

    mount -t iso9660 /dev/cdrom /mnt/cdrom

    2) 查看挂载是否成功

    df -lh

    3)卸除挂载

    unmount /mnt/dvdrom

    4)挂载其它文件系统

    NTFS:

    mkdir /media/udisk

    mount -t ntfs-3g /磁盘路径

  7. yum下载的rpm文件包安装完全部自动清除安装文件。修改一下yum的设置,可以让他不删除下载的rpm。把/etc/yum.conf文件中的“keepcache=0”改为“keepcache=1”即可。rpm文件包保存目录为:/var/cache/yum

  8. 字体安装

    将字体拷贝到fonts下的自定义目录

    #mkdir /usr/share/fonts/xxx

    #cp *.ttf /usr/share/fonts/xxx/

    #cd /usr/share/fonts/xxx

    #chmod 755 *.ttf

    #mkfontscale && mkfontdir && fc-cache -fv

    如果mkfontscale 或 mkfontdir不存在,直接yum安装即可,例:

    #yum install mkfontscale

    #yum install fontconfig

  9. 环境变量

    1) JDK环境变量

    在/etc/profile.d/下新建一个java.sh(可以让所有用户使用),文件中存放以下内容

    export JAVA_HOME=/usr/java/jdk1.6.0_29

    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export PATH=$PATH:$JAVA_HOME/bin

    2) Resin环境变量

  10. Apache+PHP+Mongo+Resin环境搭建

    1) Apache安装

        #./configure --prefix=/usr/local/apache --enable-http --enable-modules=all --enable-rewrite --enable-so --enable-deflate=shared --enable-cache --enable-file-cache --enable-ssl --with-ssl

        激活suexec模块功能,需要附加以下配置

        #--enable-suexec --with-suexec-caller=daemon --with-suexec-docroot=/var/www/extsuite --with-suexec-uidmin=1000 --with-suexec-gidmin=1000 --with-suexec-logfile=/usr/local/apache/logs/suexec_log

        #make && make install

        #cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

        #vim /etc/init.d/httpd

        加入以下两行内容在#!/bin/sh的下一行

        # chkconfig: 345 90 90

        # description: Apache

        设置为自启动

        #chkconfig --add /etc/init.d/httpd

        #service httpd start

        如果启动报错using ::1 for ServerName,则修改httpd.conf文件,修改两处:

        a) 找到#ServerName,新增一行内容:ServerName localhost

        b) 找到

        c) 将DocumentRoot指向的目录赋予daemon.daemon用户组执行权限

        #service httpd restart

    2) libxml安装(php5.3.8编译时必须要用到的库)

    ./configure --prefix=/usr/server/libxml

    3) php安装

        #./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-libxml-dir=/usr/server/libxml --with-config-file-path=/usr/local/apache/conf --enable-mbstring --enable-xml --enable-sockets --enable-soap

        激活mysql功能,需附加下一行配置

         # --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config

        激活mcrypt,phpMyAdmin要用到

        # --with-mcrypt=/usr/local/libmcrypt

        加载libiconv模块

        # --with-iconv-dir=/usr/local/libiconv/lib

        开启gd库

        #yum zlib libpng freetype gd jpeg libxml

        # --with-gd --enable-gd-native-ttf --with-zlib --with-png --with-jpeg --with-freetype

        编译加载curl

        #/usr/local/php/bin/phpize

        #./configure --with-php-config=/usr/local/php/bin/php-config

        最后将生成的curl.so拷贝到php目录下,在php.ini加载该文件

        如果调用系统已安装库文件,则在./configure 前面加上以下代码

        #CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

        #cp php.ini-production /usr/local/apache/conf/php.ini

        让apache加载php模块,编辑httpd.conf,在末尾处加下如下代码

        # php_module Configuration

        AddType application/x-httpd-php .php .phtml

        AddType application/x-httpd-php-source .phps

        PHPIniDir "conf"

        修改php.ini,开启mysql支持

    4) Resin安装

    5) 更改Apache主目录

    修改DocumentRoot指向目标目录,主目录最好指向/var/www(可绕开权限问题)

    DocumentRoot

    chcon -t httpd_sys_content_t /usr/server/webapps

    6) 配置Apache请求分发,分发指定目录及文件让Resin处理

    加载Resin模块

    LoadModule caucho_module /usr/local/apache/modules/mod_caucho.so

    分发指定目录

    ResinConfigServer localhost 6800

    CauchoConfigCacheDirectory /tmp

    CauchoStatus yes

    分发指定扩展名文件

    ResinConfigServer localhost 6800

    CauchoConfigCacheDirectory /tmp

    CauchoStatus yes

  11. Apache与Resin整合及虚拟机配置

    1) Apache虚拟机配置,找到这一行,去掉前面的注释#

    #Include conf/extra/httpd-vhosts.conf 变成 Include conf/extra/httpd-vhosts.conf

    2) 找到第一行 LoadModule,大约在50几行左右,并新增一行,加载Resin,内容如下

    LoadModule caucho_module modules/mod_caucho.so

    3) 将httpd.conf里的所有虚拟机配置移入到extra/httpd-vhosts.conf文件中,并屏蔽到extra/httpd-vhosts.conf文件中的示例配置

    4) 在extra/httpd-vhosts.conf文档中加入qiangkebao的虚拟机配置,内容如下

    ServerAdmin [email protected]

    DocumentRoot "/var/www/qiangkebao"

    ServerName www.qiangkebao.com

    ServerAlias *.qiangkebao.com

    ResinConfigServer localhost 6800

    CauchoConfigCacheDirectory /tmp

    CauchoStatus yes

    ErrorLog "logs/qiangkebao-error_log"

    CustomLog "logs/qiangkebao-access_log" common

    5) 配置完以上后,先保存退出,记住,别重启Apache,因为Resin相应配置还没跟上

  12. Resin安装及配置

    1) 编译参数如下:

    ./configure --prefix=/usr/local/resin --with-apxs=/usr/local/apache/bin/apxs

    make && make install

    2) Resin虚拟机配置,进入Resin目录,打开目录中的conf/resin.xml文件,在

    ^([^/]*).qiangkebao.com

    manual

    3) 检查一下apache的modules目录中是否存在mod_caucho.so文件,如果不存在,需要再次重复编译Resin的步骤

    4) 检查Resin启动脚本是否生成,检查以下目录是否存在名为“resin”的文件

    /etc/init.d/ 以及 /etc/rc.d/init.d/

    5) Resin自启动配置,打开/etc/init.d/resin 文件,按照下面的说明修改

    a. 找到 # chkconfig: 位置,将这一行内容修改如下(修改目的,开机时让resin在Apache之前启动,关机时在Apache之前关闭)

    # chkconfig: 2345 61 61

    b. 上述修改保存后,再执行如下命令:

    需要添加执行权限

    chmod 755 /etc/rc.d/init.d/resin

    添加到系统服务中

    /sbin/chkconfig resin reset

    关闭自动启动

    chkconfig resin on

    c. 以上修改完成后,应该可以用以下命令来启动resin了

    service resin start

  13. Mongodb设置为开机启动

    打开/etc/rc.local,在末尾处加上以下一行内容

    /mongodb/mongodb/bin/mongod -f /mongodb/mongodb/conf/mongo.conf

  14. 检查apache的启动优先级

    打开/etc/init.d/httpd,查检# chkconfig:这一行是不是以下内容,如果不是,改成以下内容

    # chkconfig: 2345 90 90

    保存后,重新apache,命令如下:

    service httpd restart

  15.  

    7) mongodb的php驱动安装

    下载mongodb驱动

    https://github.com/mongodb/mongo-php-driver

    将mongodb驱动解压,使用unzip命令

    unzip mongodb-mongo-php-driver-(xxx: version).zip

    安装驱动

    # /usr/local/php/bin/phpize

    # ./configure --with-php-config=/usr/local/php/bin/php-config --enable-mongo

    # make && make install

    # cp lib/php/extensions/no-debug-non-zts-20090626/mongo.so /usr/local/php/ext/ //我在php目录下建立了一个ext目录,用来存放php扩展

    修改php.ini,开启mongo.so,在php.ini中加入一行

    extension=/usr/local/php/ext/mongo.so

     

    问题及解决

    &Q1:Cannot find autoconf,需要安装autoconf,方法如下:

    yum install autoconf

    &Q2:

    8)mysqli的php模块不能加载问题解决

    (php-xxxxx为php文件名, 代表路径)

    # cd /usr/local/src/php-xxxxx/ext/mysqli

    # yum -y install mysql-devel

    # php安装路径/php/bin/phpize (phpize参考)

    # ./configure --with-php-config= /php-config --enable-embedded-mysqli=shared --enable-shared

    # make

    # make install

  16. mysql-5.5安装

    1) 下载(亚洲日本站750KB/s):http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.21.tar.gz/from/http://ftp.jaist.ac.jp/pub/mysql/  

    2) 先安装cmake(mysql最新版本5.5需要cmake编译安装,cmake需要gcc、gcc-c++编译环境支持)

        下载:#wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

         安装:

                  #tar zxvf cmake-2.8.4.tar.gz

                  #mv cmake-2.8.4 cmake

                  #cd cmake

                  #./bootstrap

                  如果报错缺少c编译器,则执行命令:#yum install gcc

    3)一键安装mysql编译用到的关联包

         #yum install autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*

    4)mysql 编译安装

         #tar -zxvf mysql-5.5.21.tar.gz

         #mv mysql-5.5.21 mysql

         #cd mysql 

         #cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

            -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \

            -DDEFAULT_CHARSET=utf8 \

            -DDEFAULT_COLLATION=utf8_general_ci \

            -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

            -DWITH_MYISAM_STORAGE_ENGINE=1 \

            -DWITH_INNOBASE_STORAGE_ENGINE=1 \

            -DWITH_MEMORY_STORAGE_ENGINE=1 \

            -DWITH_READLINE=1 \

            -DENABLED_LOCAL_INFILE=1 \

            -DMYSQL_DATADIR=/usr/local/mysql/data \

            -DMYSQL_USER=mysql \

            -DMYSQL_TCP_PORT=3306

        #make

        #make install

                  如果报错缺少c++编译器,则执行命令:#yum install gcc-c++

                  如果没有报错,则继续以下安装

                  #gmake

                  #gmake install

                  #./configure

                  #make && make install

    6)mysql配置    

        #group add mysql                                      #添加mysql用户组

        #useradd mysql -g mysql -s /sbin/nologin        #添加mysql用户

        #cd /usr/local/mysql

        #chown mysql.mysql -R .                             #将mysql目录赋予mysql用户的执行权限

        #chown mysql.mysql -R data

        #cp support-files/my-medium.cnf /etc/my.cnf  #mysql配置文件

        #chmod 755 scripts/mysql_install_db              #赋予mysql_install_db执行权限

        以下命令为mysql 启动及自启动配置

        #scripts/mysql_install_db  --user=mysql  --basedir=/usr/local/mysql --datadir=/usr/server/data/    

        #cp support-files/mysql.server /etc/init.d/mysqld

        #chmod 755 /etc/init.d/mysqld

        #chkconfig mysqld on

        设置管理员帐号

        #mysqladmin -u root password 'yourpassword'

        本机登录mysql

        #mysql -u root -p                                       #敲入该命令后,屏幕会提示输入密码,输入上一步设置的yourpassword

        删除root密码为空的记录

        #use mysql;

        #delete from user where password='';

        #flush privileges;

        #quit

        配置mysql允许root远程登录

        #mysql -u root -p                                        #登录

        #grant all privileges on *.* to root@'%' identified by "root";

        #flush privileges;

        #quit

网卡驱动安装

 1) 下载AR81Family-linux-v1.0.1.14.tar.gz

2) 安装环境检测,有没安装GCC,有没安装Kernel

3) 网卡安装

# tar zxvf AR81Family-linux-v1.0.1.14.tar.gz -C drivers

# make && make install

查看模块是否已成功安装

# lsmod |grep atl1e

如果模块没安装,则加载模块

# insmod /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/net/atl1e/atl1e.ko

# lsmod |grep

最后,配置网卡信息

#setup

检测路由及网络连接

#netstat -rn //检查路由情况

#nslookup www.baidu.com //检查是否能正常解析IP

4) 补充

临时添加IP及网关

# ifconfig eth0 192.168.0.20 netmask 255.255.255.0

# route add default gw 192.168.0.1

DNS设置

# vi /etc/resolv.conf //加入以下信息,我设置的是福州联通DNS

search localdomain

nameserver 58.22.96.66

nameserver 218.104.128.106

重启网卡

# /etc/init.d/network restart

开机自动挂载网卡

# vi /etc/modprobe.d/atl1e.conf //加入以下信息

alias eth0 atl1e

 

你可能感兴趣的:(Linux)