INSTALL AND CONFIGURE HTTPD, ENABLE PUT METHOD:
Here we will see how to install HTTPD(apache server) and
enable PUT Method for curl to upload file.
IN this doc we are installing linux server my server is Linux OEL 7
[root@server ~]# cat /etc/os-release
NOW, we are connecting to root user to install HTTPD
Su - root
yum install httpd ( it will download and install httpd)
systemctl enable httpd (it will enable httpd)
systemctl start httpd (it will start httpd)
check the status of server
Now check with your URL http://IP or
Hostname
e.g. http://192.168.50.90
NOTE : to access the http server from different server we
need to enable a port 80
List out the port which are open in my server
firewall-cmd --list-all
First iam adding a port in my server then need to restart
firewall for reflect of my port
firewall-cmd --add-port=80/tcp –permanent
firewall-cmd –reload
firewall-cmd --list-all
Creating a initial file basic index.html page
When we install httpd it will create html output directory
in /var/www/html , iam creating my index.html file under /var/www/html because
when apache trying to open page it look under html directory
Just copy paste below index.html file body and save it.
·
Create index.html file
Cd /var/www/html
Vi index.html
Add entries
<html>
<head>
<title>Welcome
to my test site!</title>
</head>
<body>
This
site is for testing purposes only
</body>
</html>
Now check with your URL it should give a index page which we
created
Here we completed the installation of HTTPD ( apache)
server,
Now, I am starting to enable put method for curl to upload
files in my server
Here First iam creating a password file for user apache
·
Create password file
htpasswd -c /home/html/.htpasswd apache
when we run a htpasswd it will ask promt two times for password,
please make sure to keep this password save as it require when we upload a file
with curl
I am creating my password file I location /home/html you can create any location but
make sure this password file location will b update in httpd configuration file
Which will see in below steps
Here we are doing
changes in httpd configuration file please make according to your environment in
below lines
·
Make changes in httpd configuration file –
/etc/httpd/conf
Vi httpd.conf
1)
#
# Deny access to the entirety of your server's filesystem.
You must
# explicitly permit access to web content directories in
other
# <Directory> blocks below.
#
<Directory />
AllowOverride none
Require all denied
</Directory>
2)
#
# Relax access to content within /var/www.
#
<Directory "/var/www">
AllowOverride None
# Allow open
access:
Require all
granted
</Directory>
3)
Enable DAV
#
# Controls who can
get stuff from this server.
#
#Require all
granted
Dav On
AuthType Basic
AuthUserFile
"/home/html /.htpasswd"
AuthName
"Staging Area"
Require
valid-user
</Directory>
4)
# The following lines prevent .htaccess and .htpasswd files
from being
# viewed by Web clients.
#
<Files ".ht*">
Require all denied
</Files>
5)
Add –
#
MIMEMagicFile
conf/magic
</IfModule>
<IfModule mod_dav_fs.c>
# Location of the
WebDAV lock database.
DAVLockDB
/var/lib/dav/lockdb
</IfModule>
Give apache user permission
·
Give permission :
Apache permission to /var/www/html and /var/lib/dav
Chown apache:apache /var/www/html
Chown apache:apache /var/lib/dav
Here I am setting SELINUX to permissive after setting this it
will required boot server for reflect this is important if not your see a
permission error
· Make
SELINUX = permissive in /etc/selinux
config file
SELINUX=permissive
Now restart the httpd
and run the curl command
· Bounce httpd
Systemctl restart httpd
· Now run curl command
curl --user apache:XXXX
--upload-file filename http://HOSTIP
note : make sure
credential must b correct which create is htpasswd file
No comments:
Post a Comment