RHEL7.0系統相關配置
centos7.0下載:
DVD ISO: http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
完整ISO:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7.0-1406-x86_64-Everything.iso
centos包:http://vault.centos.org/ 或者 http://mirrors.oschina.net/centos/
centos7更多詳情:http://wiki.centos.org/zh/Manuals/ReleaseNotes/CentOS7
RedHat下載:https://access.redhat.com/downloads/
中國源軟體下載:http://dl.oschina.net
centos幾個新特性:
使用centos的官方yum源
yum clean all
yum install net-tools
ifconfig命令在net-tools軟體包裡
nslookup,dig在bind-utils中
centos使用了systemd來代替sysvinit
systemd服務管理程式,它融合service和chkconfig功能於一體。你可以使用它永久或只在當前會話中啟用/禁用服務。
systemctl(start|stop)httpd.service
systemctl(enable|disable)httpd.service
列出正在執行的服務或其他: systemctl
systemd-cgls以樹形列出正在執行的程序。它可以遞迴顯示給定控制組內容。
顯示一個服務(無論執行與否)的狀態: systemctl status httpd.service
檢視服務是否開機啟動:systemctl is-enabled iptables.service;echo $?
123456789101112131415161718192021 | $cat/usr/lib/systemd/system/httpd.service[Unit]Description=TheApacheHTTPServerAfter=network.targetremote-fs.targetnss-lookup.target[Service]Type=notifyEnvironmentFile=/etc/sysconfig/httpdExecStart=/usr/sbin/httpd$OPTIONS-DFOREGROUNDExecReload=/usr/sbin/httpd$OPTIONS-kgracefulExecStop=/usr/sbin/httpd$OPTIONS-kgraceful-stop#Wewantsystemdtogivehttpdsometimetofinishgracefully,butstillwant#ittokillhttpdafterTimeoutStopSecifsomethingwentwrongduringthe#gracefulstop.Normally,SystemdsendsSIGTERMsignalrightafterthe#ExecStop,whichwouldkillhttpd.WearesendinguselessSIGCONTheretogive#httpdtimetofinish.KillSignal=SIGCONTPrivateTmp=true[Install]WantedBy=multi-user.target |
在sysvinit下,啟動start、關閉stop、重啟restart都是用$1來傳遞引數,但是在systemctl下,很是像supervisord這個daemon程式。
修改執行級別:
第 3 執行級用 multi-user.target替代。第 5 執行級用graphical.target替代。runlevel3.target 和 runlevel5.target 分別是指向 multi-user.target和graphical.target的符號連結。
你可以使用下面的命令切換到“執行級 3 ”:
systemctl isolate multi-user.target 或者
systemctl isolate runlevel3.target
你也可以使用下面的命令切換到“執行級 5 ”:
systemctl isolate graphical.target 或者
systemctl isolate runlevel5.target
如何改變預設執行級別?
systemd不使用/etc/inittab檔案
systemd使用連結來指向預設的執行級別。在建立新的連結前,你可以通過下面命令刪除存在的連結: rm /etc/systemd/system/default.target
預設切換到執行級 3 :
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
預設切換到執行級 5 :
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
如何檢視當下執行級別?
runlevel命令在systemd下仍然可以工作。你可以繼續使用它,儘管systemd使用 'target' 概念(多個的 'target' 可以同時啟用)替換了之前系統的runlevel。
等價的systemd命令是 systemctl list-units --type=target
12345678 | [[email protected]~]#chkconfig--list|grepsamba注意:該輸出結果只顯示SysVinit服務,並不包含原生systemd服務。SysV配置資料可能被原生systemd配置覆蓋。如果您想列出systemd服務,請執行'systemctllist-unit-files'。欲檢視對特定target啟用的服務請執行'systemctllist-dependencies[target]'。[[email protected]~]#systemctllist-dependenciessambasamba.service |
引導方式:使用grub2引導
RHEL7/CentOS7預設執行級別和終端解析度
修改解析度吧;
在grub中我們修改的是/boot/grub/grub.conf,而在grub2中要修改的檔案是/boot/grub2/grub.cfg;找到
1 | linux16/vmlinuz-3.10.0-123.el7.x86_64root=UUID=881ac4e6-4a55-47b1-b864-555de7051763rord.lvm.lv=centos/swapvconsole.font=latarcyrheb-sun16rd.lvm.lv=centos/rootcrashkernel=autovconsole.keymap=usrhgbquietLANG=en_US.UTF-8 |
在後面新增vga=0x???(問號代表解析度程式碼),在這裡貼一張對應表,方便檢視
修改後如下:
第二個是修改執行級別,大家都知道在grub中是修改/etc/inittab,將與之對應的數字修改就ok,但是在grub2中也變了,RHEL7使用systemd建立符號連結的方式指向預設執行級別,完了記得reboot下
1 | #ln-sf/lib/systemd/system/runlevel?.target/etc/systemd/system/default.target[objectObject] |
例如我修改預設執行級別為字元終端,就是用命令:
1 | #ln-sf/lib/systemd/system/runlevel13.target/etc/systemd/system/default.target |
centos7.0安裝成功後如何使用yum,ifconfig,pvcreate相關命令
我們安裝時的檔案是依照/root/anaconda-ks.cfg這個回答檔案安裝的,cat檢視它
1234567891011121314151617181920212223242526272829303132333435 | [[email protected]~]#cat/root/anaconda-ks.cfg#version=RHEL7#Systemauthorizationinformationauth--enableshadow--passalgo=sha512#UseCDROMinstallationmediacdrom#RuntheSetupAgentonfirstbootfirstboot--enableignoredisk--only-use=sda#Keyboardlayoutskeyboard--vckeymap=us--xlayouts='us'#Systemlanguagelangen_US.UTF-8#Networkinformationnetwork--bootproto=dhcp--device=eno16777736--onboot=off--ipv6=autonetwork--hostname=localhost.localdomain#Rootpasswordrootpw--iscrypted$6$ujXxVQ3lCFRecY/T$RyN0pe6ylmwQYiM3AFm0PAyP2E7yZ8MVZIAAGnVoRGJRcawrQYynAzQWd/dNvELy4LUUGb8kKEJ3GnKWSEs7..#SystemtimezonetimezoneAmerica/New_York--isUtc#Systembootloaderconfigurationbootloader--location=mbr--boot-drive=sda#Partitionclearinginformationclearpart--none--initlabel#Diskpartitioninginformationpart/--fstype="xfs"--ondisk=sda--size=17407partswap--fstype="swap"--ondisk=sda--size=1024part/data--fstype="xfs"--ondisk=sda--size=2048%packages@core#系統的核%end |
我們發現系統預設最小化安裝有core沒有base。而我們需要的那些基礎的命令是打包在base內的,既然問題發現了,下面我們開始安裝base。
在bash介面輸入下面命令
1234567891011 | [[email protected]yum.repos.d]#viCentOS-dvd.repo[centos-dvd]name=CentOSbaseurl=file:///mnt/disk/enabled=1gpgcheck=0:x[[email protected]yum.repos.d]#lsCentOS-Base.repo.bakCentOS-dvd.repoCentOS-Vault.repo.bakCentOS-Debuginfo.repo.bakCentOS-Sources.repo.bak#為了方便我們yum.repos.d下以repo的檔案都改為bak的字尾,之後新新增CentOS-dvd.repo檔案並設定相關路徑其他四個檔案的具體內容可自行百度 |
修改完畢輸入下面命令
顯示Complete後,yum,ifconfig,pvcreate等命令都可正常使用。
一:設定IP地址、閘道器DNS,路由,iP命令,網路管理工具
在安裝的時候選擇mini安裝型別,可能導致有些基礎包沒有被安裝上,
yum -ygroupinstallBase
通過上面命令可以將一些基礎包安裝,正常使用 ifconfig | lsof命令。
說明:RHEL 7.0預設安裝好之後是沒有自動開啟網路連線的!
cd /etc/sysconfig/network-scripts/ #進入網路配置檔案目錄
vi ifcfg-eno16777736#編輯配置檔案,新增修改以下內容
TYPE="Ethernet|Bridge"網路介面型別
BOOTPROTO="static"#啟用靜態IP地址
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes|no" 是否支援IPV6
USERCTL="yes|no" 是否允許普通用控制此介面
PEERDNS="yes|no" 是不是接受DHCP伺服器指派的DNS伺服器地址
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777736"
UUID="8071cc7b-d407-4dea-a41e-16f7d2e75ee9" 裝置標識號
ONBOOT="yes"#開啟自動啟用網路連線
IPADDR0="192.168.21.128"#設定IP地址 只有在BOOTPROTO={none|static}設定才有效
PREFIX0="24"#設定子網掩碼 此設定也可用 PREFIX=n (n為掩碼位數)
GATEWAY0="192.168.21.2"#設定閘道器 要與IP地址屬於同一網段
DNS1="8.8.8.8"#設定主DNS
DNS2="8.8.4.4"#設定備DNS
HWADDR="00:0C:29:EB:F2:B3"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
service network restart#重啟網路
CentOS 7下網絡卡重新命名
在CentOS5的時候,我們使用eth0方式網路裝置命名,在CentOS 6下,網路裝置變成了em1 的命名。但在安裝的時候,給啟動引數加上biosdevname=0,就可以繼續使用 eth0 這樣的命名。新裝的CentOS 7網絡卡命名已經預設不像之前的那樣了,原有的引數biosdevname=0不起作用了。如果你希望繼續使用 eth0 這樣的傳統名稱,那麼在安裝啟動時加上引數:
et.ifnames=0 biosdevname=0
如果你已經安裝完了,希望改成eth0這樣的名稱,那麼需要:
編輯/etc/sysconfig/grub檔案內容
下邊是編輯前的檔案內容:
增加“net.ifnames=0 biosdevname=0”,編輯後的檔案內容:
GRUB_CMDLINE_LINUX=”rd.lvm.lv=vg0/swap vconsole.keymap=us crashkernel=auto vconsole.font=latarcyrheb-sun16net.ifnames=0 biosdevname=0rd.lvm.lv=vg0/usr rhgb quiet”
執行:grub2-mkconfig -o /boot/grub2/grub.cfg
重新對網絡卡配置檔案進行命名:
/etc/sysconfig/network-scripts/ifcfg-*
然後重啟系統後檢視網絡卡名稱:
CentOS 7是由於systemd 和 udev 引入了一種新的網路裝置命名方式:一致網路裝置命名(CONSISTENT NETWORK DEVICE NAMING) 。可以根據韌體、拓撲、位置資訊來設定固定名字,帶來的好處是命名自動化,名字完全可預測,在硬體壞了以後更換也不會影響裝置的命名,這樣可以讓硬體的更換無縫化。帶來的不利是新的裝置名稱比傳統的名稱難以閱讀。
https://bugzilla.redhat.com/show_bug.cgi?id=965718 紅帽子BUG965718
ping www.baidu.com#測試網路是否正常
traceroute 和 mtr顯示出我們到達一個網路所經過的路由資訊
yum -y install traceroute
yum -y install mtr
1 | [[email protected]~]#mtr-n |
設定路由資訊
臨時生效:
route-n以數字形式顯示路由表
ip route list
增加一條主機路由[[email protected]~]#routeadd-host172.16.9.18gw172.16.0.1deveth0
[[email protected]~]#routeadd-net10.0.0.0/8gw172.16.0.1deveth0設定預設路由
#routeadddefaultgwNEXT_HOP 刪除主機路由和網路路由 [[email protected]~]#routedel-net10.0.0.0/8deveth0 [[email protected]~]#routedel-host172.16.9.18deveth0永久生效:
配置檔案在/etc/sysconfig/network-scripts/ 目錄下:
每個網絡卡路由對應一個配置檔案(包括網絡卡別名的)route-IFNAME。例如:eth0網絡卡的配置路由檔案是 route-eth0。設定格式1:每一行一個路由條目 DESTINATION via NETX_HOP
192.168.0.0/24via172.16.0.1
設定格式2:每3行一個路由條目
ADDRESS#=DESTINATION
NETMASK#=MASK
GATEWAY#=GW
#要是設定主機路由的話,掩碼位數是32位ADDRESS0=192.168.0.0NETMASK0=255.255.0.0GATEWAY=172.16.0.1
iP命令常用選項
ip link : 管理介面
show [IFNAME]
set IFNAME {up|down}
12345678910 | [[email protected]~]#iplinkshow1:lo:<LOOPBACK,UP,LOWER_UP>mtu16436qdiscnoqueuestateUNKNOWNlink/loopback00:00:00:00:00:00brd00:00:00:00:00:002:eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000link/ether00:0c:29:e0:db:d8brdff:ff:ff:ff:ff:ff3:eth1:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000link/ether00:0c:29:e0:db:e2brdff:ff:ff:ff:ff:ff4:eth2:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000link/ether00:0c:29:e0:db:ecbrdff:ff:ff:ff:ff:ff[[email protected]~]#iplinkseteth2down |
ip addr: 管理協議地址
ip addr {show|flush} [dev DEVICE] 檢視網絡卡的IP地址
ip addr {add|del} ADDRESS dev DEVICE [label IFALIAS] [broadcast BCAST_ADDRESS],為一個網絡卡新增多個IP
1234567891011 | [[email protected]~]#ipaddrshowdeveth13:eth1:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000link/ether00:0c:29:e0:db:e2brdff:ff:ff:ff:ff:ffinet192.168.1.4/24brd192.168.1.255scopeglobaleth1inet6fe80::20c:29ff:fee0:dbe2/64scopelinkvalid_lftforeverpreferred_lftforever[[email protected]~]#ipaddradd192.168.0.23/24deveth2labeleth2:0[[email protected]~]#ifconfigeth2:0eth2:0Linkencap:EthernetHWaddr00:0C:29:E0:DB:ECinetaddr:192.168.0.23Bcast:0.0.0.0Mask:255.255.255.0UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1 |
二:使用系統映象檔案配置本地yum源
1.上傳系統映象檔案rhel-server-7.0-x86_64-dvd.iso到/usr/local/src目錄
2.掛載系統映象檔案
mkdir /media/cdrom #新建映象檔案掛載目錄
cd /usr/local/src#進入系統映象檔案存放目錄
mount -t iso9660 -o loop /usr/local/src/rhel-server-7.0-x86_64-dvd.iso /media/cdrom#掛載系統映象
備註:umount /media/cdrom #解除安裝系統映象
3.設定開機自動掛載系統映象檔案
vi /etc/fstab#新增以下程式碼。實現開機自動掛載
/usr/local/src/rhel-server-7.0-x86_64-dvd.iso /media/cdrom iso9660 defaults,ro,loop 0 0
備註:iso9660使用df -T 檢視裝置
4.配置本地yum源
cd /etc/yum.repos.d/#進入yum配置目錄
touch rhel-media.repo#建立yum配置檔案
cat rhel-media.repo#編輯配置檔案,新增以下內容
[rhel-media]
name=Red Hat Enterprise Linux 7.0#自定義名稱
baseurl=file:///media/cdrom#本地光碟掛載路徑
enabled=1#啟用yum源,0為不啟用,1為啟用
gpgcheck=1#檢查GPG-KEY,0為不檢查,1為檢查
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release#GPG-KEY路徑
5.使用yum命令自動安裝軟體
yum clean all#清除yum快取
yum makecache#快取本地yum源中的軟體包資訊
yum install httpd#安裝apache
rpm -ql httpd#查詢所有安裝httpd的目錄和檔案
systemctl start/stop/restart httpd.service #啟動/停止/重啟apache
systemctl enable httpd.service#設定開機啟動
6.RHEL 7.0預設使用的是firewall作為防火牆,這裡改為iptables防火牆
關閉firewall:
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall開機啟動
yum install iptables-services#安裝iptables
vi /etc/sysconfig/iptables#編輯防火牆配置檔案
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq!#儲存退出
systemctl start/stop/restart/status iptables.service#啟動/停止/重啟防火牆,檢視防火牆狀態
systemctl enable iptables.service#設定開機啟動
6.設定主機名為www
hostname www#設定主機名為www
vi /etc/hostname#編輯配置檔案
www localhost.localdomain#修改localhost.localdomain為www
vi /etc/hosts#編輯配置檔案
127.0.0.1 www localhost#修改localhost.localdomain為www
shutdown -r now#重啟系統
三:安裝配置LAMP伺服器(Apache+PHP+MariaDB)
1、安裝Apache
yum install httpd#根據提示,輸入Y安裝即可成功安裝
2.安裝MariaDB
RHEL 7.0中,已經使用MariaDB替代了MySQL資料庫
yum install mariadb mariadb-server#詢問是否要安裝,輸入Y即可自動安裝,直到安裝完成
systemctl start/STOP/RESTART mariadb.service#啟動/停止/重啟MariaDB
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf#拷貝配置檔案(如果/etc目錄下面預設有一個my.cnf,直接覆蓋即可)
為root賬戶設定密碼
mysql_secure_installation
回車,根據提示輸入Y
輸入2次密碼,回車
根據提示一路輸入Y
最後出現:Thanks for using MariaDB!
3.安裝PHP
yum install php#根據提示輸入Y直到安裝完成
安裝PHP元件,使PHP支援 MariaDB
yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
#這裡選擇以上安裝包進行安裝,根據提示輸入Y回車
4.進行相關配置
一、Apache配置
vi /etc/httpd/conf/httpd.conf#編輯檔案
ServerSignature On #新增,在錯誤頁中顯示Apache的版本,Off為不顯示
Options Indexes FollowSymLinks #修改為:Options Includes ExecCGI FollowSymLinks(允許伺服器執行CGI及SSI,禁止列出目錄)
#AddHandler cgi-script .cgi #修改為:AddHandler cgi-script .cgi .pl(允許副檔名為.pl的CGI指令碼執行)
AllowOverride None #修改為:AllowOverride All(允許.htaccess)
AddDefaultCharset UTF-8 #修改為:AddDefaultCharset GB2312 (新增GB2312為預設編碼)
#Options Indexes FollowSymLinks #修改為Options FollowSymLinks(不在瀏覽器上顯示樹狀目錄結構)
DirectoryIndex index.html #修改為:DirectoryIndex index.html index.htm Default.html Default.htm index.php(設定預設首頁檔案,增加index.php)
MaxKeepAliveRequests 500#新增MaxKeepAliveRequests 500 (增加同時連線數)
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html#刪除預設測試頁
二、php配置
vi /etc/php.ini#編輯
date.timezone = PRC#把前面的分號去掉,改為date.timezone = PRC
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#列出PHP可以禁用的函式,如果某些程式需要用到這個函式,可以刪除,取消禁用。
expose_php = Off#禁止顯示php版本的資訊
magic_quotes_gpc = On#開啟magic_quotes_gpc來防止SQL注入
short_open_tag = ON#支援php短標籤
open_basedir = .:/tmp/ #設定表示允許訪問當前目錄(即PHP指令碼檔案所在之目錄)和/tmp/目錄,可以防止php***跨站,如果改了之後安裝程式有問題,可以登出此行,或者直接寫上程式的目錄/data/www.test.com/:/tmp/
最後進行頁面訪問測試:
cd /var/www/html
vi index.php#輸入下面內容
<?php
phpinfo();
?>
在客戶端瀏覽器輸入伺服器IP地址,可以看到如下圖所示相關的配置資訊!
如果頁面打不開,請確保firewalld防火牆已經關閉
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall開機啟動
注意:apache預設的程式目錄是/var/www/html
許可權設定:chown apache.apache -R /var/www/html
本文出自 “從心開始” 部落格,請務必保留此出處http://hao360.blog.51cto.com/5820068/1438383
轉載於:https://blog.51cto.com/lucifer119/1734111