看一下版本先... lsb_release -a或cat /etc/issue
- apt-get install net-tools <--新版debian並沒有把ifconfig....等網路工具預設安裝
- ssh服務預設禁止root通過密碼登入(/etc/ssh/sshd_config中的PermitRootLogin=prohibit-password (yes為允許)
- 系統開機後跳離menu,直接進入系統
- vim /etc/default/grub
- GRUB_DEFAULT=0 (預設為0 -->ubuntu開機;windows系統通常在第5項)
- GRUB_TIMEOUT=0(改為0,不停留在menu上,直接進入系統)
- update-grub (重新建立 /boot/grub/grub.cfg) #開機選單
- 重新開機測試即可
- 為vim加顏色(yy複製整列、yw複製單字、p貼上)
- debina 或 ubuntu 所附的 vim 為精簡版的,所以不能顯示顏色,需安裝完整版
apt-get install -y vim
然後編輯vim 的設定檔
vim /etc/vim/vimrc
"syntax on
↑把前面的"號拿掉
set ignorecase
↑設定搜尋時英文不分大小寫
set incsearch
↑將搜尋到的字加hilight - vim8.0後,滑鼠無法直接按右鍵複製、貼上。
echo "set mouse-=a" > ~/.vimrc
- debina 或 ubuntu 所附的 vim 為精簡版的,所以不能顯示顏色,需安裝完整版
- 將 /usr/sbin/nologin 加入 /etc/shells文件中
echo '/usr/sbin/nologin' >> /etc/shells - 改變所有使用者環境(/etc/profile 對所有的使用者生效)
- echo "alias ll='ls -alh --color=auto -F'" >> /etc/profile
echo "alias
grep
=
'grep --color=auto'" >> /etc/profile
echo "alias useradd='useradd -m -s /usr/sbin/nologin'" >> /etc/profile
- 更改系統預設文字編輯器(我選擇vim.basic)
update-alternatives --config editor - 網路卡設定 (改固定IP)
- vim /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#allow-hotplug eth0
auto eth0
iface eth0 inet static
address 172.16.1.11
netmask 255.255.0.0
gateway 172.16.1.254 - vim /etc/resolv.conf
#domain Domain
search wles.chc.edu.tw
nameserver 172.16.1.3
nameserver 168.95.1.1
nameserver 168.95.192.1 - 將硬碟移機後,網卡 eth0 或 eth1 不見了?
- 首先用 ifocnfig -a 看你的系統內有幾張網卡,記下該網卡的 mac address
- vim /etc/udev/rules.d/70-persistent-net.rules
(有可能不是一模一樣的檔名↑,只要記住關鍵字 net 去試試即可)
- vim /etc/network/interfaces
- 預設校時同步
- timedatectl set-ntp yes(關閉改為no)
- date更改日期(月日時分共8碼)
- 更改主機名稱
- 更改 /etc/hostname
- 更改 /etc/hosts
- 重開機
- 重新啟動網路
/etc/init.d/networking restart - 安裝資料庫php套件
- debian10(9.13)預設套件為php7,降為php5.6的方法
- apt-get install apt-transport-https ca-certificates (使apt-get 支援SSL源、認證機構-證書)
- wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg 或
curl https://packages.sury.org/php/apt.gpg | apt-key add - (請先裝curl套件) - echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php5.list
- apt-get update
- 安裝資料庫mysql-server在debian10中找不到
- apt-get install gnupg
- wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
- dpkg -i mysql-apt-config_0.8.13-1_all.deb(要求我們配置可用的軟件包和存儲庫。默認配置非常好,因此只需向下滾動並按OK。)
- apt-get update
- apt-get install mysql-server(安裝mysql-server最後版本8.0,安全認證請使用傳統認證)
- 傳統認證(在/etc/mysql/mysql.conf.d/default-auth-override.cnf)
- [mysqld]
default_authentication_plugin= mysql_native_password - 預設字元編碼為utf8mb4_0900_ai_ci,必要時可改為latin1或utf8(在/etc/mysql/mysql.conf.d/mysqld.cnf更改)
- [mysqld]
character-set-server=latin1 - [mysql]
default-character-set=latin1 - [client]
default-character-set=latin1 - 在debian9.13安裝mysql5.5.9999+default
- apt-get install mysql-server
- 預設mysql的root登入是使用unix_socket登入(即使用者root不用密碼即可登入mysql)
- USE mysql; (進入mysql並啟用mysql資料庫)
- UPDATE user SET Plugin='mysql_native_password',Password=password('密碼') WHERE User='root';
- FLUSH PRIVILEGES;
- quit
- service mysql restart
- 安裝的mysql5.5.9999(其實是披著mariadb的外殼,所有的設定放在/etc/mysql/mariadb.conf.d資料夾中)
- 將資料夾中的設定檔內容
- character-set-server = utf8mb4 (改為latin1)
- collation-server = utf8mb4_general_ci (改為latin1_swedish_ci)
- service mysql restart
- mysql的root密碼忘記的作法
- mysqld --skip-grant-tables(跳過權限表認證,該終端機已無法使用)
- 另外開啟終端機
- mysql無密碼直接登入
- UPDATE user SET Password=password('密碼') WHERE User='root';
- FLUSH PRIVILEGES;
- quit
- 安裝php5.6
apt-get install php5.6 php5.6-mysql php5.6-curl php5.6-xmlrpc php5.6-intl php5.6-gd php5.6-xml php5.6-zip php5.6-mbstring - 若系統同時安裝 php 5.6 和 php 7.0 兩種版本,可使用以下指令做切換:update-alternatives --config php
- 網站架設1:安裝phpmyadmin 4.9.5(再高版本需要php7.0)範例
- 官方網站下載版本並上傳、解壓縮至/var/www/webs
- 新增/etc/apache2/sites-available/webs.conf(範本)
Alias /xx/ "/var/www/webs/xx/"
<Directory "/var/www/webs/xx/">
Options MultiViews FollowSymLinks
AllowOverride None
Require all granted
</Directory> - a2ensite webs(啟用webs網站,停用則為a2dissite)
- service apache2 restart
- 備註:config.inc.php中的$cfg['Servers'][$i]['auth_type'] = 'cookie'; 改為'http'
- 備註:進入phpmyadmin資料夾中,建立tmp並chmod 777做為暫存
- 網站架設2:安裝moodle
- 官方網站下載版本並上傳、解壓縮至/var/www/webs
- 新增/etc/apache2/sites-available/webs.conf(範本)
- service apache2 restart
- vim /etc/mysql/mariadb.conf.d/50-server.cnf 中的[mysqld] 加入(如果有需要的話...)
default_storage_engine = innodb
innodb_file_per_table = 1
innodb_file_format = Barracuda
innodb_large_prefix = 1 - mysqladmin -uroot -p密碼 password '新密碼'
- mysql資料庫備份與還原
- 備份並壓縮
- mysqldump -uroot -p sfs3 --default-character-set=latin1 | gzip > sfs3_DB.sql.gz
- 重建還原
- gunzip sfs3_DB.sql.gz (gunzip -k 可保留原gzip檔案)
- mysqladmin -u root -p create sfs3
- mysql -u root -p sfs3 < sfs3_DB.sql
- 若資料庫欲連線至他台,必須將/etc/mysql/my.cnf中的bind-address = 127.0.0.1mark起來。
- 移機使用sftp的用法 sftp 帳號@ip
put -r 本地端dir/. (. 記得加上) 或是 put -r 資料夾 上傳整個資料夾 - 啟用apache2模組
- 先到/etc/apache2/mods-available/ 查看可用模組(例userdir)
- a2enmod userdir 啟用userdir模組
- awdismod userdir 停用userdir模組
- 先到/etc/apache2/mods-available/ 查看可用模組(例userdir)
- vim /etc/php/5.6/apache2/php.ini
max_execution_time = 300
max_input_time = 600
memory_limit = 160M
post_max_size = 100M
upload_max_filesize = 80M
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
display_errors = On
short_open_tag = On
將 default_charset = "UTF-8" 改為 default_charset = ""
**安裝Moodle 3.3.9+版本出現需要php需要zip擴展,在php.ini新增 - sed -i 's/;extension=zip.so/extension=zip.so/' /etc/php/5.6/apache2/php.ini
- php 5.4以後有重大改變(參見 程式設計師需要注意的 PHP 5.4 變化),register_globals 和 register_long_arrays 兩項設定不再支援,將此function貼到全域文件中(轉自http://tw1.php.net/manual/en/security.globals.php)
- cgi程式置於 /usr/lib/cgi-bin
- samba
- 看samba狀態
↓此指令在debian版不能用,須改用 smbstatus 指令
/etc/init.d/samba status - 掛載網路硬碟
smbclient -L ip //IP -U username 列出分享資料夾
smbmount //IP/資料夾 /掛載點 -o username=帳號 掛載網路硬碟 - security=user 設定參考vim /etc/samba/smb.conf
[global]
workgroup = wles
netbios name = SMB
server string = 網路硬碟
min protocol = SMB2
client min protocol = SMB2 (可用samba-tool testparm -v | grep protocol查詢smb協定使用狀況)
wins support = Yes
interfaces = lo, eth1, 192.168.1.1/24
security = user
passdb backend = tdbsam
obey pam restrictions = yes (以下4行,使用passwd或smbpasswd會使用者密碼、網路硬碟密碼同步)
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
domain master = yes
preferred master = yes
os level = 68
333
#map to guest = bad user (mark掉,強迫帳號密碼驗證)
#usershare allow guests = yes (mark掉或no,分享檔案guest不可使用)
load printers = no //以下設定可將印表機圖示隱藏
printing = bsd
printcap name = /dev/null
disable spoolss = yes
- - 以下可啟用samba符號連結(捷徑)功能 --
follow symlinks = yes
unix extensions = no
wide links = yes
[homes]
comment = Home Directories
read only = No
create mask = 0664
directory mask = 0755
valid users = %S
browseable = No
[open]
comment = 開放區
path = /w2/open1
write list = @teachers
read only = no
create mask = 0666
directory mask = 0777
[open2]
comment = 開放備份區
path = /w2/open2
write list = @teachers
read only = no
create mask = 0666
directory mask = 0777
browseable = No
配合資源分享之設定 - 設定teachers群組 vim /etc/group
teachers:x:499:ully,ting9474 - 設定open目錄與使用者權限
chmod 770 open1
chown xx.teachers open1 - 設定crontab
crontab -e
0 1 1 * * mv /w2/open1 /w2/open3
1 1 1 * * mv /w2/open2 /w2/open1
2 1 1 * * rm -rf /w2/open1/*
3 1 1 * * mv /w2/open3 /w2/open2 - chown -R .teachers open1
- chmod -R 770 open1
- chmod -R g+s open1 (設定sgid,讓進入open1的使用者,群組變為teachers)
- 看samba狀態
- dhcp(debian6已改為isc-dhcp-server)
- apt-get install isc-dhcp-server
- vim /etc/dhcp/dhcpd.conf
- /etc/init.d/isc-dhcp-server start
(會開啟bootps--utp67port)
- postfix發信伺服器與openwebmail安裝
- vsftpd安裝
- 讓使用者上下傳他們自己的檔案
vim /etc/vsftpd.conf- local_enable=YES (同意使用者登入)
- write_enable=YES
- /etc/init.d/vsftpd restart
- 允許匿名使用者上傳檔案
vim /etc/vsftpd.conf- anonymous_enable=YES (預設)
- write_enable=YES (可寫入)
- anon_upload_enable=YES (可上傳)
- anon_other_write_enable=YES (除了上傳外,還可做刪除、改名。。等動作,自行加入)
- anon_mkdir_write_enable=YES (匿名者建立資料夾....自行斟酌)
- 在/home/ftp 目錄下 建立上傳資料夾,資料夾擁有者為ftp,mod 755,(/home/ftp之擁有者為root)
- 使用者登入後限制目錄
vim /etc/vsftpd.conf- 在 /etc/vsftp.chroot.list名單者,統統限制
- chroot_local_user=NO
- chroot_list_enable=YES
- chroot_list_file=/etc/vsftpd.chroot_list
- echo '使用者' >> /etc/vsftpd.chroot_list
- 在 /etc/vsftp.chroot.list名單者,統統開放
- chroot_local_user=YES
- chroot_list_enable=YES
- chroot_list_file=/etc/vsftpd.chroot_list
- echo '使用者' >> /etc/vsftpd.chroot_list
- 在 /etc/vsftp.chroot.list名單者,統統限制
- 讓使用者上下傳他們自己的檔案
- DNS+IPV6
- apt-get install bind9
- cat /etc/bind/named.conf (先瞭解設定檔架構)
- /etc/bind/named.conf.options
directory "/var/cache/bind"; <--正反解設定檔位置
listen-on-v6 { any; }; <--支援IPV6功能(預設) - vim /etc/bind/named.conf.local (標示本地端正反解檔案,ipv4、ipv6正解可寫在一起;反解則分開寫)
- vim /var/cache/bind/wles.chc.edu.tw.zone
- vim /var/cache/bind/64.115.23.163.arpa
- vim /var/cache/bind/ipv6.arpa (此設定有問題,故不啟用,憾甚!)
- /etc/bind/named.conf.default-zones (標示本機正反解檔案位置)
- /etc/bind/named.conf.options
- IPV6功能開啟
- cat /proc/sys/net/ipv6/conf/all/disable_ipv6 預設0,開啟
- 主機host檔設定 (vim /etc/hosts)
127.0.0.1 localhost
172.16.1.3 dns.wles.chc.edu.tw dns
172.16.1.1 www.wles.chc.edu.tw www
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
2001:288:5676::2 dns.wles.chc.edu.tw dns
2001:288:5676::3 www.wles.chc.edu.tw www - 修改網路介面 (vim /etc/network/interfaces)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 172.16.1.3
netmask 255.255.0.0
gateway 172.16.1.254
dns-nameservers 172.16.1.3
dns-search wles.chc.edu.tw (本來是168.95.1.1,DNS啟用後,先讀取自己吧)
iface eth0 inet6 static
address 2001:288:5676::2
netmask 48
gateway 2001:288:5676::1 - 修改主機位址解析檔 (vim /etc/resolv.conf)
domain wles.chc.edu.tw
nameserver 172.16.1.3
nameserver 163.23.200.1
nameserver 168.95.1.1
nameserver 2001:288:5600::89
nameserver 2001:288:5600::1
nameserver 2001:288:5600::6
nameserver 2001:288:5676::2 - 重新啟用網路服務
/etc/init.d/networking restart
測試網路- ip a
- ping6 2001:288:5676::2 測試DNS本機
- ping6 2001:288:5676::1 測試路由器
- ping6 ::1 測試localhost
- 重新啟用DNS
/etc/init.d/bind9 restart - DNS設定測定
- nslookup,測試本機正反解
- nslookup,使用中華電信DNS
>server 168.95.1.1
>set type=AAAA
>www.wles.chc.edu.tw
>2001:288:5676::2 (無法查詢,因為設定不成功)
- 行政院NICI小組測試
- sysv-rc-conf (停掉預設的服務),詳細說明
- acpid
- atd
- axim4 (郵件服務)
- nfs-common
- nfs-kerne$
- rpcbind(舊稱portmap)
- sendsigs
- winbind (整合samba和window帳號)
- 關掉rpcbind(NFS 伺服器,111port)
- update-rc.d nfs-common disable
- update-rc.d rpcbind disable
- 預設啟動服務 與關閉服務
- 啟動服務 insserv service 或 update-rc.d servic defaults
- 關閉服務 insserv -r service 或 update-rc.d service remove
- 如果還是無法關閉「開機自動啟用該service」,可crontab加入排程,例如:
@reboot /usr/sbin/service bind9 stop