cPanel is a web hosting platform for static or dynamic pages mainly written in PHP with a local MySQL database. The pages and database on a site are managed by account local to the cPanel server which are NOT linked to university accounts.
We have two servers
|webs.act.reading.ac.uk||<username>.webs.act.reading.ac.uk||Personal / Development|
|webhosts.act.reading.ac.uk||As requested||Research Groups/Projects|
On the webs.act.reading.ac.uk the site username will be the same as your university username but the password will be local to the server. This is designed from small personal sites or development. The webhosts sever is designed to host larger research group or project sites and can only be requested by members of staff.
The sites are provided free of charge but we reserve the right to charge for larger sites. A site name not ending in reading.ac.uk will also incur a charge.
You are responsible for keeping your site secure and to make sure it complies with the appropriate UoR policies, legislation, and accessibility requirements see https://sitesb.reading.ac.uk/accessibility/
Since the website can be managed via the management portal from anywhere it is a good idea to setup two factor authentication so that your password and the paired authenticator app from Microsoft or Google on you smart phone is required to gain access. For more information see https://docs.cpanel.net/cpanel/security/two-factor-authentication-for-cpanel/
You can transfer files using the following services;
A web based file manager
For a detailed look at File Manager, see this Video Tutorial
You can manage files on your account using git repositories which can be local or clones from a remote repository such as gitlab.act.reading.ac.uk
You can deploy files from your git repository either automatically (push) or manually (pull/deploy)
To make the communication between a browser and your site over https secure you need a valid SSL certificate. Sites on webs.act.reading.ac.uk can get a certificate from Letsencrypt using the FleetSSL plugin. Generally you will only need a certificate for the primary domain.
Sites on webhosts.act.reading.ac.uk use the AutoSSL system to create certificates signed by cPanel.com
You can use Header Directives in a .htaccess file to make you web site more secure. For a standalone website we would recommend the .htaccess file in your public_html directory should contain the following directives
Header add Strict-Transport-Security "max-age=15768000" Header edit Set-Cookie ^(.*)$ "$1;HttpOnly;Secure;SameSite=Strict" Header set Content-Security-Policy "default-src 'self';" Header always append X-Frame-Options DENY Header set X-XSS-Protection "1: mode=block" Header set X-Content-Type-Options nosniff Header set Referrer-Policy: no-referrer-when-downgrade Header set Cache-Control "max-age=84600, public" Header set Permissions-Policy: geolocation=(self)
For more information on headers see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
You may want to create a subdomain if you wish to put a project into a separate area. I.e http://project1.ab012345.webs.sse.reading.ac.uk
Learn how to limit access to a certain part of your site by requiring a user name and password to access a folder or folders from the web.
Download (to your computer) a zipped copy of either your entire site (your home directory, databases) or one of the previously mentioned parts of your site.
A lot of code out there uses the php mail() function to send mail. You will see code like
<?php $to = 'firstname.lastname@example.org'; $subject = 'Subject'; $message = 'This is a test'; mail($to, $subject, $message); ?>
This will work but by default the mail server on the cpanel site sends email from email@example.com and if you do not specify a FROM address people will not be able to reply to you.
<?php $to = 'firstname.lastname@example.org'; $subject = 'Subject'; $message = 'This is a test'; $headers = 'From: email@example.com' . "\r\n" . 'Reply-To: firstname.lastname@example.org' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?>