在linux下使用Apache搭建文件服務器

一.關於文件服務器

​ 在一個項目中,若是想把公共軟件或者資料共享給項目組成員,能夠搭建一個簡易的文件服務器來實現,只要是在局域網內的成員均可以經過瀏覽器或者wget命令來下載和訪問資料。能夠達到信息共享,軟件版本一致的效果。本文講述在linux環境下使用Apache服務搭建文件服務器。html

二.使用Apache搭建文件服務器

1.Apache服務在linux環境下的程序叫作httpd,因此首先安裝httpd服務,若是配置好了yum源的話,直接使用yum命令安裝,若是沒有配置好yum源的話,能夠參考博客「linux 配置本地yum源,配置國內yum源,配置epel源」進行配置,網址爲:http://www.javashuo.com/article/p-kbqjxawz-ny.htmljava

[root@node5 ~]# yum -y install httpd

2.啓動httpd服務node

#啓動httpd服務
[root@node5 ~]# systemctl start httpd

#查看httpd服務狀態
[root@node5 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-12-17 16:26:05 CST; 7s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 98576 (httpd)
   Status: "Processing requests..."
   CGroup: /system.slice/httpd.service
           ├─98576 /usr/sbin/httpd -DFOREGROUND
           ├─98577 /usr/sbin/httpd -DFOREGROUND
           ├─98578 /usr/sbin/httpd -DFOREGROUND
           ├─98579 /usr/sbin/httpd -DFOREGROUND
           ├─98580 /usr/sbin/httpd -DFOREGROUND
           └─98581 /usr/sbin/httpd -DFOREGROUND

Dec 17 16:26:05 node5 systemd[1]: Starting The Apache HTTP Server...
Dec 17 16:26:05 node5 httpd[98576]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.110.184. Set the 'ServerName' directive globally to su...ss this message
Dec 17 16:26:05 node5 systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

#查看Apache版本
[root@node5 ~]# httpd -version
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov 16 2020 16:18:20

3.查看IP地址,訪問Apache頁面linux

#能夠看到本機IP地址爲192.168.110.184
[root@node5 soft]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.110.184  netmask 255.255.255.0  broadcast 192.168.110.255
        ether 00:0c:29:11:c4:4a  txqueuelen 1000  (Ethernet)
        RX packets 24682  bytes 13301526 (12.6 MiB)
        RX errors 0  dropped 4  overruns 0  frame 0
        TX packets 15119  bytes 2166095 (2.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 2402  bytes 221903 (216.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2402  bytes 221903 (216.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

在瀏覽器裏訪問http://192.168.110.184/,若是出現以下界面說明Apache服務安裝成功nginx

image-20201217172039462

4.建立共享目錄/opt/soft,把須要共享的文件都放在這個目錄shell

[root@node5 soft]# mkdir /opt/soft

#此命令把系統全部的tar.gz的壓縮包都放在共享目錄裏
[root@node5 soft]# find / -name "*.tar.gz" -exec mv {} /opt/soft \;

[root@node5 soft]# ls /opt/soft/
amhello-1.0.tar.gz            elasticsearch-6.2.2.tar.gz         FastDFS_v5.08.tar.gz        kibana-6.2.2-linux-x86_64.tar.gz  nginx-1.19.3.tar.gz         ntp-4.2.6p5.tar.gz     tomcat-native.tar.gz
apache-tomcat-8.0.51.tar.gz   fastdfs_client_java._v1.25.tar.gz  findfile.tar.gz             libopts-40.0.15.tar.gz            nginx-1.8.0.tar.gz          rarlinux-3.8.0.tar.gz  餅乾.txt
commons-daemon-native.tar.gz  fastdfs-nginx-module_v1.16.tar.gz  jdk-8u172-linux-x64.tar.gz  nginx-1.10.0.tar.gz               ngx_cache_purge-2.3.tar.gz  today_db.tar.gz

5.由於訪問Apache頁面默認讀取的是/var/www/html/頁面,因此把共享目錄連接到/var/www/html/下就能夠了apache

[root@node5 ~]# ln -s /opt/soft /var/www/html/file

[root@node5 ~]# ll /var/www/html/file
lrwxrwxrwx 1 root root 9 Dec 17 16:29 /var/www/html/file -> /opt/soft

6.重啓Apache服務,查看頁面windows

[root@node5 ~]# systemctl restart httpd

使用瀏覽器訪問http://192.168.110.184/file/,若是出現以下界面,就說明文件服務器搭建好了瀏覽器

image-20201217165158511

7.經過網頁咱們發現中文是亂碼,能夠修改配置文件使中文正常顯示tomcat

#在Apache配置文件的末尾追加一行
[root@node5 ~]# echo "IndexOptions Charset=UTF-8" >> /etc/httpd/conf/httpd.conf

[root@node5 ~]# systemctl restart httpd

再次訪問網頁http://192.168.110.184/file/,發現頁面的中文正常顯示了

image-20201217165302948

三.測試文件服務器是否可用

1.在windows上使用瀏覽器訪問http://192.168.110.184/file/,若是頁面能夠打開,而且點擊軟件會自動下載,說明經過windows下載文件成功。

2.在局域網內的另一臺linux機器上測試是否能夠下載文件

#首先在node8機器上使用root帳戶測試下載文件
#使用wget命令下載文件
[root@node8 ~]# wget http://192.168.110.184/file/餅乾.txt
--2020-12-17 16:53:00--  http://192.168.110.184/file/%E9%A5%BC%E5%B9%B2.txt
Connecting to 192.168.110.184:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1181 (1.2K) [text/plain]
Saving to: ‘餅乾.txt’

100%[=======================================================================================================================================================================>] 1,181       --.-K/s   in 0s      

2020-12-17 16:53:00 (130 MB/s) - ‘餅乾.txt’ saved [1181/1181]
 
[root@node8 ~]# wget http://192.168.110.184/file/today_db.tar.gz
--2020-12-17 16:53:26--  http://192.168.110.184/file/today_db.tar.gz
Connecting to 192.168.110.184:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 767 [application/x-gzip]
Saving to: ‘today_db.tar.gz’

100%[=======================================================================================================================================================================>] 767         --.-K/s   in 0s      

2020-12-17 16:53:26 (268 MB/s) - ‘today_db.tar.gz’ saved [767/767]

#發現文件能正常下載
[root@node8 ~]# ls 餅乾.txt today_db.tar.gz
today_db.tar.gz  餅乾.txt

#使用node8機器上的普通帳戶file1測試下載文件
[root@node8 ~]# useradd file1

[root@node8 ~]# echo "123456" | passwd --stdin file1
Changing password for user file1.
passwd: all authentication tokens updated successfully.

[root@node8 ~]# su - file1 
[file1@node8 ~]$ pwd
/home/file1
[file1@node8 ~]$ ls
[file1@node8 ~]$ wget http://192.168.110.184/file/餅乾.txt
--2020-12-17 17:44:10--  http://192.168.110.184/file/%E9%A5%BC%E5%B9%B2.txt
Connecting to 192.168.110.184:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1181 (1.2K) [text/plain]
Saving to: ‘餅乾.txt’

100%[=======================================================================================================================================================================>] 1,181       --.-K/s   in 0s      

2020-12-17 17:44:10 (254 MB/s) - ‘餅乾.txt’ saved [1181/1181]

[file1@node8 ~]$ wget http://192.168.110.184/file/today_db.tar.gz
--2020-12-17 17:44:20--  http://192.168.110.184/file/today_db.tar.gz
Connecting to 192.168.110.184:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 767 [application/x-gzip]
Saving to: ‘today_db.tar.gz’

100%[=======================================================================================================================================================================>] 767         --.-K/s   in 0s      

2020-12-17 17:44:20 (216 MB/s) - ‘today_db.tar.gz’ saved [767/767]

#發現能正常下載文件
[file1@node8 ~]$ ls
today_db.tar.gz  餅乾.txt

自此文件服務器搭建成功,功能正常。

相關文章
相關標籤/搜索