Tag Archive: centos

七月 16th, 2018

确认三件事情

一本地ip

二网关

三dns

一就不说了,设置好本地ip和掩码就行了,二网关 添加默认网关,命令:route add defaule gw 192.168.1.1 这是 你用route命令查看最下面会有一条默认路由,走192.168.1.1网关,当然这个网关是根据你本地的网段决定的,三 就是dns了,dns也需要到配置文件修改,#vi etc/resolv.conf 文件,我的文件默认是空白的。添加一条dns记录就可以了,比如我在河南,我添加:nameserver 222.85.85.85 然后保存退出,OK

ping通外网了

顺便记一下几个命令:

删除默认路由 :

route 命令

设置和查看路由表都可以用 route 命令,设置内核路由表的命令格式是:

# route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

其中:

add : 添加一条路由规则
del : 删除一条路由规则
-net : 目的地址是一个网络
-host : 目的地址是一个主机
target : 目的网络或主机
netmask : 目的地址的网络掩码
gw : 路由数据包通过的网关
dev : 为路由指定的网络接口

route 命令使用举例

添加到主机的路由

# route add -host 192.168.1.2 dev eth0:0
# route add -host 10.20.30.148 gw 10.20.30.40

添加到网络的路由

# route add -net 10.20.30.40 netmask 255.255.255.248 eth0
# route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
# route add -net 192.168.1.0/24 eth1

添加默认路由

# route add default gw 192.168.1.1

删除路由

# route del -host 192.168.1.2 dev eth0:0
# route del -host 10.20.30.148 gw 10.20.30.40
# route del -net 10.20.30.40 netmask 255.255.255.248 eth0
# route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
# route del -net 192.168.1.0/24 eth1
# route del default gw 192.168.1.1

TAGS:
六月 7th, 2018

首先,你得有台云主机Vps。国内的话有阿里云、腾讯云这些。由于一些不可描述的原因,我选择的是部署在香港的 VPS,懂的都懂,其实我这台 VPS 主要是服务于 SS。当然一台买了这个 VPS 只拿来做 SS 服务有点浪费啊,而且部署在 github page 上的静态博客访问其实挺慢的,然后因为不想备案的原因,还无法用到国内大厂的 CDN 加速服务,于是萌生了干脆把博客静态指向到 VPS 的 IP 算了。

然后你还得买个域名,这总不能用 IP 来访问吧,太low。

安装 Nginx

在这里就不累赘了

配置 Nginx

配置文件在 /etc/nginx/nginx.conf

其中配置了两个 server,一个 80 端口的是 HTTP,一个 443 端口的是 HTTPS,这里强制让 80 端口重定向到了 HTTPS。

user root;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable “msie6”;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
#include /etc/nginx/conf.d/*.conf;
#include /etc/nginx/sites-enabled/*;
server {
listen 80;
server_name www.anany.vip anany.vip;
return 301 https://$server_name$request_uri;
}
server{
server_name www.anany.vip anany.vip;
listen 443;
location / {
root /root/blog/pages;
index index.html;
}
ssl on;
ssl_certificate /etc/nginx/anany.vip_bundle.crt;
ssl_certificate_key /etc/nginx/anany.vip.key;
}
}
三月 31st, 2018

近期在修改一台CentOS服务器的DNS时发现只要重启服务器DNS就会被强制还原,解决方案如下:

1、首先在网卡设置中修改NM_CONTROLLED的值:

修改文件/etc/sysconfig/network-scripts/ifcfg-eth0的内容:
NM_CONTROLLED=”no”  //是否允许Network Manager管理,设置为no

默认允许Network Manager管理DNS,所以首先设置为no,然后操作DNS设置

2、设置DNS内容:

修改DNS可以有如下两种方案:

①、修改网卡设置:

在/etc/sysconfig/network-scripts/ifcfg-eth0中修改内容:
PEERDNS=”yes”
DNS1=”xxx.xxx.xxx.xxx”
DNS2=”xxx.xxx.xxx.xxx”

这种设置方案是以网卡中设置的DNS为主,resolv.conf中按照网卡设置的DNS内容自动生成,以后想修改DNS,必须修改网卡中的设置才不会在服务器重启之后出现DNS设置失效的问题。

②、直接修改/etc/resolv.conf的值:

PS.需要注意的是,若要使直接修改的DNS内容不会在服务器重启之后丢失,需要设置网卡中PEERDNS的值为no:
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

3、修改完毕之后重启网卡:
service network restart

按照上面任意一种方案修改DNS设置之后都不会出现重启服务器DNS设置复原的情况。

TAGS:
三月 25th, 2018

首先在httpd.conf文件中把如下的配置放开,默认是注释掉的

LoadModule rewrite_module modules/mod_rewrite.so

下面是域名

ServerName http://www.xxxx.com

防盗链配置

RewriteEngine OnRewriteCond %{HTTP_REFERER} !^http://www.xxxx.com/.*$ [NC]RewriteCond %{HTTP_REFERER} !^http://www.xxxx.com$ [NC]RewriteRule .*\.(gif|png|jpg|swf)$ http://www.xxxx.com/images/error.png [R,NC]

RewriteRule .*\.(gif|png|jpg|swf)$ /ALLOW/img/error.jpg [R,NC]

  • RewriteEngine on:开启Rewrite
  • RewriteCond %{HTTP_REFERER} !^http://www.xxxx.com$ [NC]:如果网站不是从http://www.xxxx.com域名点开的都会显示error.png

RewriteCond中的正则很普通,所以不做说明。RewriteRule中的正则,(.*)代表任意字符,^是开始锚,$是结束锚。

 

TAGS: ,
三月 25th, 2018

一台新的linux CentOS服务器,安装好php环境后,发现apache默认解析路径是/var/www/html,如果不想使用这个默认路径,可以自己设置一个目录。

例:在根目录下新建/data/website文件夹用来存放项目。

准备工作:

创建目录

在根目录下

1 mkdir data

2 cd data

3 mkdir website

操作步骤:

1、vi /etc/httpd/conf/httpd.conf

找到 DocumentRoot “/var/www/html” 这一段 #apache的根目录

把/var/www/html 这个目录改为/data/website

再找到 #定义apache /var/www/html这个区域

把 /var/www/html改成/data/website

这样我们就把apahce的默认路径改掉了

1 service httpd restart #重启Apache服务器

2、访问localhost的时候,会发现访问拒绝,这是为什么呢?

 

主要是因为你的/home/wwwroot/web1/htdocs的权限是750,apache这个用户没有权限访问,你需要更改掉权限,可以这样改

1 chmod -R 755 /data/website

然后去访问 发现正常运行了(apache的用户:apache 运行apache的组:apache)

至此,Apache默认网站目录更改成功。

然后把你的项目移到配置好的目录下即可。

TAGS: ,
二月 16th, 2018

创建新用户

创建一个叫xiaoming的用户:

[root@192 ~]# adduser xiaoming

为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略:

[root@192 ~]# passwd xiaoming
更改用户 xiaoming 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

为新创建的用户授权

个人用户的权限只可以在本home下有完整权限,其他目录要看别人授权。而经常需要root用户的权限,这时候sudo可以化身为root来操作。sudo创建文件,然后发现并没有读写权限,因为查看权限是root创建的。

新创建的用户并不能使用sudo命令,需要给他添加授权。

sudo命令的授权管理是在sudoers文件里的。可以看看sudoers:

[root@192 ~]# sudoers
-bash: sudoers: 未找到命令
[root@192 ~]# whereis sudoers
sudoers: /etc/sudoers /etc/sudoers.d /usr/share/man/man5/sudoers.5.gz

查看该文件的目录的权限:

[root@192 ~]# ls -l /etc/sudoers
-r–r—–. 1 root root 3938 6月 7 2017 /etc/sudoers

只有只读的权限,如果想要修改的话,需要先添加w权限:

[root@192 ~]# chmod -v u+w /etc/sudoers
mode of “/etc/sudoers” changed from 0440 (r–r—–) to 0640 (rw-r—–)

然后添加内容,在下面一行追加新用户:

vi /etc/sudoers

## Allow root to run any commands anywhere  
root    ALL=(ALL)       ALL  
xiaoming  ALL=(ALL)       ALL  #这个是新增的用户

然后将/etc/sudoers的权限收回:

[root@192 ~]# chmod -v u-w /etc/sudoers
mode of “/etc/sudoers” changed from 0640 (rw-r—–) to 0440 (r–r—–)

最后登录刚刚创建的用户:

[root@192 ~]# su – xiaoming

TAGS:
一月 29th, 2018
本文内容来自《鸟哥的私房菜》
=========================
先來看一看預設的 /etc/xinetd.conf 這個檔案的內容是什麼吧!

[root@linux ~]# vi /etc/xinetd.conf
#
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
  instances        = 60              <==同一服務的同時連線數最多可達 60 個
  log_type         = SYSLOG authpriv <==登錄後,會被紀錄到登錄檔的資訊
  log_on_success   = HOST PID        <==若成功的登入時,記錄的資訊有哪些?
  log_on_failure   = HOST            <==若登入失敗,則記錄的資訊又是如何?
  cps              = 25 30           <==同一秒鐘內最大連線數量為 25 個,若超過 25 個,
                                 則該服務會暫時停止 30 秒!
}

includedir /etc/xinetd.d <==更多的設定值在 /etc/xinetd.d 那個目錄內

基本上,這個預設參數檔的意義是:『當某個使用 super daemon 管理的服務啟動時,除非該服務已經設定好管理的項目,否則將以上述 xinetd.conf 內的預設參數帶入。』的意思,也就是說,這僅是預設值, 但我們可以自行指定新的設定值來取代 xinetd.conf 內的預設值啦! 也就是說,這個檔案設定成,在預設的狀態下『:一個服務最多可達 60 個連線,且同一秒內連接上的連線不可超過 25 個。而若登入的成功與否時, 會分別記錄不同的資訊到登錄檔當中。』這樣說,可以比較清楚了吧? ^_^ 至於更多的參數說明,我們會在底下再強調的!

既然這只是個預設參數檔,那麼自然有更多的服務參數檔案囉~沒錯~而所有的服務參數檔都在 /etc/xinetd.d 裡面,這是因為上表當中的最後一行啊!這樣瞭了吧! ^_^。 那麼每個參數檔案的內容是怎樣呢?一般來說,他是這樣的:

service  <service_name>
{
       <attribute>   <assign_op>   <value>   <value> ...
       .............
}

第一行一定都有個 service ,至於那個 <service_name> 裡面的內容, 則與 /etc/services 有關,因為他可以對照著 /etc/services 內的名稱與 port number 來決定所要啟用的 port 是那個啊!然後相關的參數就在兩個大刮號中間。 attribute 是一些 xinetd 的管理參數, assign_op 則是參數的設定方法。 assign_op 的主要設定形式為:

       = : 表示後面的設定參數就是這樣啦!
      += : 表示後面的設定為『在原來的設定裡頭加入新的參數』
    -+ : 表示後面的設定為『在原來的參數捨棄這裡輸入的參數!』

用途不太相同,敬請留意呦!好了!底下再來說一說那些 attribute 與 value !

attribute
(功能)
assing_op
(允許的動作)
說明與範例
一般設定項目:
disable yes
no
允許該 server 可以執行或者是不能執行!當設定為 yes 表示該服務不能執行! 這個設定是一定要的啦。如果我想要啟動某個服務,那麼這裡就要設定成為:disable = no
socket_type stream
dgram
raw
stream 為連線機制較為可靠的 TCP 封包,若為 UDP 封包則使用 dgram 機制。 raw 代表 server 需要與 IP 直接對談!例如 telnet 使用 TCP ,所以:socket_type = stream
protocol tcp
udp
….
這個東西說的是,連線的狀態使用的是哪一種協定!?各個協定的代號可以參考 /etc/protocols 內容!此外,除非是你自己設定的服務,否則這個可以不用設定啦!
wait yes
no
這就是我們剛剛提到的 Multi-threaded 與 single-threaded 的方式啦!一般來說,我們希望大家的要求都可以同時被啟用,所以可以設定wait = no
user UID
root
還記得我們在 帳號管理 那一篇提到的 UID 概念嗎?對啦!這個 UID 就是那個 UID 啦!要注意的是,假如你的服務啟動者不要以 root 為主的話,那麼這個地方就可以改變其他的使用者,例如 nobody !這個咚咚也會有安全防護的機制存在!此外,需要注意這個 UID 必須存在於 /etc/passwd 。
group GID 跟 user 的意思相同!只是這個 GID 的使用者也必須存在於 /etc/group 當中!
instances number
UNLIMITED
這個是『在同一時間之內,同一個服務可以允許的連線數目』的意思, 你可以寫入一個『數字』來控制連線數目,也可以使用 UNLIMITED 來告訴系統『沒有上限』囉!例如你在同時段之內僅允許 ftp 連線有 30 個,那麼這裡就可以輸入 30 啦!
nice -19 ~ 19 還記得我們在 程序管理 裡面談到的那個 nice 指令嗎?!對啦!這裡就是這個東西囉!數字越小( 負值 )代表該程序越優先被執行!
server program
完整檔名
這個就是指出這個服務的啟動程式!例如要啟動 telnet 的話,其實就是 in.telnetd 這支程式啦!所以這個時候在這裡輸入server = /usr/sbin/in.telnetd
server_args program
一些參數
這裡應該輸入的就是你的 server 那裡需要輸入的一些參數啦!例如 in.telnetd 當中,我們還可以加入某些參數!
log_on_success PID
HOST
USERID
EXIT
DURATION
在『成功登入』之後,需要記錄的項目:PID 為紀錄該 server 啟動時候的 process ID , HOST 為遠端主機的 IP、USERID 為登入者的帳號、EXTI 為離開的時候記錄的項目、 DURATION 為該使用者使用此服務多久?
log_on_failure HOST
USERID
ATTEMPT
RECORD
當登入失敗之後被 syslog 登入的項目:HOST為遠端主機的 IP,USERID為登入者帳號、 ATTEMPT為記錄登入失敗者企圖的意圖為何、RECORD為記錄遠端主機的資訊!以及為何本機 server 不能啟動的原因!主要有 login, shell, exec, finger 等指令可以使用在這裡!( 基本上,可以在 /etc/hosts.allow 或 /etc/hosts.deny 書寫內容 )。
進階設定項目:
env ‘name=value’ 這一個項目可以讓你設定環境變數,環境變數的設定規則可以參考 認識 BASH Shell 。
port number 這裡可以設定不同的服務與對應的 port ,但是請記住你的 port 與服務名稱必須與 /etc/services 內記載的相同才行!
redirect IP_Address port 將 client 端對我們 server 的要求,轉到另一部主機上去!呵呵!這個好玩呦! 例如當有人要使用你的 ftp 時,你可以將他轉到另一部機器上面去!那個 IP_Address 就代表另一部遠端主機的 IP 囉!
includedir directory 表示將某個目錄底下的所有檔案都給他塞進來 xinetd.conf 這個設定裡頭!這東西有用多了, 如此一來我們可以一個一個設定不同的項目!而不需要將所有的服務都寫在 xinetd.conf 當中!你可以在 /etc/xinetd.conf 發現這個設定呦!
安全控管項目:
bind IP_Address 這個是設定『允許使用此一服務的介面卡』的意思!舉個例子來說,你的 Linux 主機上面有兩個 IP ,而你只想要讓 IP1 可以使用此一服務,但 IP2 不能使用此服務,這裡就可以將 IP1 寫入即可!那麼 IP2 就不可以使用此一 server 囉
interface IP_Address 與 bind 相同
only_from 0.0.0.0
192.168.1.0/24
host_name
domain_name
這東西用在安全機制上面,也就是管制『只有這裡面規定的 IP 或者是主機名稱可以登入!』如果是 0.0.0.0 表示所有的 PC 皆可登入,如果是 192.168.1.0/24 則表示為 C class 的網域!亦即由 192.168.1.1 ~ 192.168.1.255 皆可登入!另外,也可以選擇 domain name ,例如 .ev.ncku.edu.tw 就可以允許成大環工系的網域 IP 登入你的主機使用該 server !
no_access 0.0.0.0
192.168.1.0/24
host_name
domain_name
跟 only_from 差不多啦!就是用來管理可否進入你的 Linux 主機啟用你的 server 服務的管理項目! no_access 表示『不可登入』的 PC 囉!
access_times 00:00-12:00
HH:MM-HH:MM
這個項目在設定『該服務 server 啟動的時間』,使用的是 24 小時的設定!例如你的 ftp 要在 8 點到 16 點開放的話,就是: 08:00-16:00。
umask 000
777
022
還記得在 檔案權限 裡面約略提過的 umask 這個東西嗎?呵呵!沒錯!就是那個鬼玩意兒囉! 可以設定使用者建立目錄或者是檔案時候的屬性!系統建議值是 022 。

OK!我們就利用上面這些參數來架構出我們所需要的一些服務的設定吧! 參考看看底下的設定方法囉! 我們說過,使用 super daemon 來管理主機,最大的優點就是多了一道管理的手續, 所以,可以進行比較多的監控動作,像上一個小節我們提到的相關參數當中, 就能夠發現到一些端倪了。在這裡,我們舉個簡單的例子來說明一下整個 super daemon 的管理吧!但是要設定 telnet 的話,就得要安裝 telnet 才行。 在 FC4 的版本上,我們安裝的是 telnet-server-0.17-35 這個套件資料, 請您先以 rpm 的方式 來安裝喔! ^_^

在預設的 /etc/xinetd.d/telnet 內容是這樣的:

[root@linux ~]# vi /etc/xinetd.d/telnet
service telnet
{
        flags           = REUSE   <==額外的參數使用 REUSE 
        socket_type     = stream  <==使用 TCP 的封包格式
        wait            = no      <==可以有多個連線同時連進來
        user            = root    <==啟動者預設為 root 
        server          = /usr/sbin/in.telnetd <==使用的是這支程式!
        log_on_failure  += USERID <==若登入錯誤,『加計』記錄使用者 ID
        disable         = yes     <==此服務預設關閉!
}

其實,主要的參數可以參考上一小節的表格,也可以直接利用『 man xinetd.conf 』來查閱! 不過,如果你對於這樣的設定並不滿意的話,其實還可以手動來修改呢! 因為我們知道, telnet 並不是個十分安全的服務,詳細機制可以參考 伺服器篇 的 遠端連線伺服器 來查閱, 所以,如果你想要更多的安全機制,舉例來說,你想要讓 telnet 在區域網路內與 Internet 上面的連線機制有差異時,例如這樣:

  • 對內部網域開放較多權限的部分:
    假設 Linux 主機有兩張網路卡,對內的這一張 IP 為 192.168.1.100 ,且僅針對 192.168.1.0/24 這個網段提供登入。然後開放所有與 telnet 有關的權限, 包含總連線數量與連線時間等。但是, 192.168.1.120 及 192.168.1.130 兩個 IP 不允許登入;
  • 對外部網域較多限制的設定:
    對外的 IP 假設為 140.116.44.125 ,且僅允許台南的校園網路 (140.116.0.0/16), 以及教育界的主機名稱 (.edu.tw),另外,僅開放早上 1~9 點及 20~24 兩個時段登入而已。 此外,最多容許十個連線進入。

在這樣的規劃情況下,我可以將剛剛上頭的 /etc/xinetd.d/telnet 這個檔案修改成為:

[root@linux ~]# vi /etc/xinetd.d/telnet
# 先針對對內的較為鬆散的限制來設定:
service telnet
{
    disable         = no                  <==預設就是啟動 telnet 服務
    bind            = 192.168.1.100       <==只允許經由這個介面卡的封包進來
    only_from       = 192.168.1.0/24      <==只允許 192.168.0.0/24 這個網段
                                             的主機連線進來使用 telnet 的服務
    no_access       = 192.168.1.{120,130} <==不許這些 PC 登入
    instances       = UNLIMITED           <==同時允許連線不限制!
    nice            = 0                   <==使用的優先順序較高
    flags           = REUSE               <==額外使用的參數
    socket_type     = stream              <==使用 tcp 封包常用的連線型態
    wait            = no                  <==不需等待,可以同時允許多個連線
    user            = root                <==啟動程序的使用者身份
    server          = /usr/sbin/in.telnetd<==服務啟動的程式
    server_args     = -a none             <==上面那個程式的參數
    log_on_failure  += USERID             <==錯誤登入時,要記錄下來的內容
}

# 再針對外部的連線來進行限制呢!
service telnet
{
    disable         = no                  <==預設就是啟動 telnet 服務
    bind            = 140.116.44.125      <==只允許經由這個介面卡的封包進來
    only_from       = 140.116.0.0/16      <==只允許 140.116.0.0 ~ 140.116.255.255
                                             這個網段連線進來使用 telnet 的服務
    only_from       = .edu.tw             <==重複設定,只有教務界才能連線!
    access_times    = 1:00-9:00 20:00-23:59
                                          <==每天只有這兩個時段開放服務
    umask           = 022                 <==建立檔案時的預設屬性設定
    instances       = 10                  <==同時只允許 10 個連線
    nice            = 10                  <==使用的優先順序較低
    flags           = REUSE               <==額外使用的參數
    socket_type     = stream              <==使用 tcp 封包常用的連線型態
    wait            = no                  <==不需等待,可以同時允許多個連線
    user            = root                <==啟動程序的使用者身份
    server          = /usr/sbin/in.telnetd<==服務啟動的程式
    server_args     = -a none             <==上面那個程式的參數
    log_on_failure  += USERID             <==錯誤登入時,要記錄下來的內容
}

在上面這個範例當中,我們用了很多的網路 IP 顯示方式,包括 192.168.1.0/24 , 以及 140.116.0.0/16 ,這代表『 192.168.1.0~192.168.1.255 的所有 IP 』以及 『 140.116.0.0 ~140.116.255.255 所有的 IP 』更詳細的說明,我們會在伺服器篇內詳談的。 用了這個設定值之後,你會發現你的 telnet 針對兩個網段來設計了! 設計完成之後,由於這是 xinetd 的設定檔,所以啟動的方式與觀察的方式為:

# 如果您的 telnet 本來就有啟動的話,那麼會發現有一個連線存在你的系統中
[root@linux ~]# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address   Foreign Address  State   PID/Program name
tcp        0      0 0.0.0.0:23      0.0.0.0:*        LISTEN  19255/xinetd
# 看到喔!是 xinetd 的 program name 呢!

# 重新修改 /etc/xinetd.d/telnet 之後,重新啟動的方式與觀察為:
[root@linux ~]# /etc/init.d/xinetd restart
[root@linux ~]# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address      Foreign Address  State   PID/Program name
tcp        0      0 140.116.44.125:23  0.0.0.0:*        LISTEN  19281/xinetd
tcp        0      0 192.168.1.100:23   0.0.0.0:*        LISTEN  19281/xinetd
# 有沒有看到兩個介面啊~而且, PID 會是同一個呢!
一月 16th, 2018
一台新的linux CentOS服务器,安装好php环境后,发现apache默认解析路径是/var/www/html,如果不想使用这个默认路径,可以自己设置一个目录。
例:在根目录下新建/data/website文件夹用来存放项目。
准备工作:
创建目录
在根目录下
1 mkdir data
2 cd data
3 mkdir website
操作步骤:
1、vi /etc/httpd/conf/httpd.conf
找到 DocumentRoot “/var/www/html” 这一段 #apache的根目录
把/var/www/html 这个目录改为/data/website
再找到 #定义apache /var/www/html这个区域
把 /var/www/html改成/data/website
这样我们就把apahce的默认路径改掉了
1 service httpd restart #重启Apache服务器
2、访问localhost的时候,会发现访问拒绝,这是为什么呢?
主要是因为你的/home/wwwroot/web1/htdocs的权限是750,apache这个用户没有权限访问,你需要更改掉权限,可以这样改
1 chmod -R 755 /data/website
然后去访问 发现正常运行了(apache的用户:apache 运行apache的组:apache)
至此,Apache默认网站目录更改成功。
然后把你的项目移到配置好的目录下即可。
TAGS: ,
十二月 31st, 2017
1、到Windows XP或者Vista下复制字体到CentOS 或者到这下载:
[html] view plain copy

  1. http://linux.linuxidc.com/pub/2009/11/12/%E9%9D%A2%E5%90%91Ubuntu%E7%9A%84%E5%BE%AE%E8%BD%AF%E9%9B%85%E9%BB%91%E5%AD%97%E4%BD%93V6.0%20msyh.ttf%E6%9C%AC%E5%9C%B0%E4%B8%8B%E8%BD%BD/msyh.ttf.zip
下载好之后,解压并上传到指定目录下。

字体路径 C:/WINDOWS/Fonts

雅黑:msyh

黑体:SimHei

宋体:SimSun

华文细黑:STXihei

华文楷体:STKaiti

等等 你要的字体

2、将要的字体复制到/usr/share/fonts/chinese/TrueType目录下,没有该目录的话,则手动创建。

3、修改字体权限,使root以外的用户可以使用这些字体。 给字体使用666的权限,应该是没问题的。我目前使用的就是,暂时没有发现什么问题。

4、建立字体缓存,命令:cd /usr/share/fonts/chinses/TrueType

# mkfontscale

# mkfontdir

# fc-cache  -fv

查看安装的字体

#fc-list :lang=zh

TAGS:
十一月 29th, 2017

说明:之前在CentOS7下配置过bridge,现在讲bridge模式改为普通模式后,查看网卡的时候还是可以看到很多垃圾信息,想彻底删除自己不想要的网卡配置信息,操作如下:

前言

由于服务器centos6.8安装MySQL一直出现不能连接问题,然后看到一个方法,一不小心就把yum给删除了,都还原不了,很是绝望,很难受。然后没有yum这个centos就感觉废了,然后找方法装上去。

python –version查看python 版本
whereis python 查看python文件
python: /usr/bin/python2.6 /usr/bin/python /usr/lib /python2.7 /usr/lib/python2.6 /usr/lib64/python2.7 /usr/lib64/python2.6 /usr/include/python2.7 /usr/share/man/man1/python.1.gz

centos6.8基本底层Python是python2.6, centos7是2.7,我的是centos6.8
解决办法

方法一:

这个网友解决的方法,记录一下

$ rpm -qa | grep python- | grep 2.6
$ sudo rpm -ivh –force –nodeps ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.5/x86_64/updates/fastbugs/python-2.6.6-52.el6.x86_64.rpm

解决问题,yum可以使用,原理估计是python回滚到默认的2.6

方法二 :

这个我的解决方法

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

1、 到上面这个网站去下载如下RPM包

python-iniparse-0.3.1-2.1.el6.noarch.rpm
yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm
yum-3.2.29-69.el6.centos.noarch.rpm
yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm

2、 下载完成之后,用rpm命令进行安装,如下:

rpm -ivh –force –nodeps python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivh –force –nodeps yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm
rpm -ivh –force –nodeps  yum-3.2.29-69.el6.centos.noarch.rpm
yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm

3、到 http://yum.baseurl.org/wiki

下载yum-3.4.3.tar.gz ,放到你指定的目录下解压,解压命令如下:
tar -zxvf yum-3.4.3.tar.gz     #解压后进到yum-3.4.3目录

4、输入./yummain.py update

完成之后,输入yum 解决问题
注意

在下载上面的安装包的时候注意自己的centos的版本和这个安装包的对应性,不然也是没用的。
参考

http://blog.sina.com.cn/s/blog_4cbf97060100u2zb.html

http://blog.csdn.NET/u011531010/article/details/53528054

http://blog.sina.com.cn/s/blog_643754960102w82m.html

http://stackoverflow.com/questions/17490921/no-module-named-rpm-when-i-call-yum-on-shell  http://blog.csdn.net/u011832895/article/details/53735198

TAGS: ,