Shared Web

The information below will give you everything you need to use your Shared Web hosting account. If you have a database or a dynamic Web site, then you have our Private Web service, and should head on over to the Private Web support page instead.

Your account information page

Your SFTP/SSH connection settings and site access statistics are available at your own account information page, accessible at the web address of the form:

        https://username.electricembers.net

Substitute your own username in the URL, and enter your web hosting username and password when prompted.

Uploading your site files

You can connect using SFTP (SSH File Transfer Protocol) or SCP (Secure Copy) on port 21001; your web hosting account does not support the unencrypted FTP protocol. If you are moving your Web site from a previous host, you’ll need to first connect to their server and download all your site’s files, then upload them to EE. Connection settings are available on your account information page.

FileZilla is a good open source file transfer (SFTP or SCP) client for Mac, Linux, or Windows, and almost all Web design software (like Dreamweaver) has SFTP/SCP capability built in, though it may default to unencrypted FTP. Most modern operating systems have a comand-line SFTP/SCP program built in.

The HTML and PHP files that make up your Website go in the public_html directory inside your home directory. You can preview your EE-hosted site at http://username.electricembers.net before your domain name has been pointed there.

Logging in via SSH

You can connect directly to the UNIX shell to do many things with your account such as move, rename, edit, or delete files, change permissions or your password, view Webserver logs, even read email using alpine. Connection settings are available on your account information page.

SSH (secure shell) clients are built into Mac OS and other UNIX-like operating systems. In OSX you can find Applications–>Utilities–>Terminal, then simply type

        ssh -p 21001 username@web.electricembers.net

For Windows, we recommend Putty as a good SSH client.

Account password

Your password is your responsibility. Maintaining a strong password is how you prevent abuse of your account. You can set it to whatever you like, but simple words make very weak passwords. It’s best to include some capital letters and some non-alphabet characters like numbers or punctuation. If you forget your password you will have to contact us to have it reset. Keep in mind we can only do this for the contact person we have on file for your account.

Currently, the only way for you to change your password yourself is to log into your account via SSH and issue the command passwd.

Statistics and logs

You can find statistics for your website’s traffic on your account information page.

You can also find the current raw access and error logs at /weblogs/your-domain.org and /weblogs/error/your-domain.org, if you connect via SSH or SFTP. (7 days’ access log archives are at /weblogs/old/your-domain.org.[1234567].gz.) These record the IP address, date, time, and filename of each request. It can often be useful when debugging your site to keep an eye on the error logs with a command like

       tail -f /weblogs/error/your-domain.org

Password protecting pages

If you want to password-protect certain areas of your Web site or the whole site, the best ways to do that involve cookies or sessions that are managed by your Web application. But the easiest and most general way uses the built-in authentication mechanism of Apache, our Web server. You can read about setting up Apache authentication, including the advantages of using the somewhat more secure Digest authentication instead of Basic. Since many users just want the most basic protection and aren’t too worried about the details, we’ve created a script that will ask you questions and set up the necessary files for you using Basic or Digest authentication. To run this script, log in to your shell account over SSH and type the command protect-web, and it will ask you a series of questions before setting up the protected access.

Backups

To protect your data from catastrophic events and operator error, we back up all user data (except for obvious cache and backup files) every night. Please see the FAQ for more details.

Making your own backups can be useful, but as you make multiple copies and store the backups in the same place as the source data, the usefulness decreases, and can actually interfere with our backup process. If you’d like to make backups of your data, you should transfer them offsite (to your own PC or another storage system) and delete the EE-hosted copy. Electric Embers clients are encouraged not to store more than 1-2 backup copies of the same data at any time.

CGI scripts

Executable CGI scripts written in perl, PHP, python, or any other language should be placed in the cgi-bin directory inside your home directory (alongside the public_html directory.) For reference in your scripts, the paths to Perl and Sendmail executables on our system are:

            /usr/bin/perl
            /usr/sbin/sendmail

Sending email from your website

There are four ways your website code can generate and send email:

  1. Your code can use the PHP function mail(), or another similar function in whatever language you’re using;
  2. Your code can directly call the sendmail binary at /usr/sbin/sendmail;
  3. Your code can submit mail over (unauthenticated) SMTP by connecting to web.electricembers.net on TCP port 25;
  4. Your code can submit mail over (probably authenticated) SMTP by connecting to your own email server using its preferred settings.

SSL

Secure Sockets Layer is a cryptographic protocol useful when you need to exchange sensitive data through your Website (taking online donations by credit card, for example). If you would like private SSL set up under your own domain, you will need to both acquire an SSL certificate from a third-party Certificate Authority and have us add the SSL service to your account. Here is an outline of the somewhat technical process involved:

  1. You generate an RSA private key.
  2. You use the key to generate a certificate signing request (CSR).
  3. You choose a Certificate Authority from which to purchase your cert, and send them this CSR. There are many such authorities to choose from, with greatly varying pricing, with the big ones including Verisign, Thawte (now part of Verisign), Comodo, RapidSSL, GeoTrust, DigiCert, etc. We choose DigiCert for our own certs.
  4. Your Certificate Authority sends back your certificate, possibly with intermediate certificates.
  5. You send your certificate(s) and private key location to EE.
  6. EE sets up the SSL service.

Detailed instructions for steps 1 and 2 are available in a longer article at Slacksite.com, to which you may want to refer if you’re the technical type. The upshot is that you need to log into your EE web hosting account over SSH and run these three commands at the shell:

   openssl genrsa ­-des3 -­out username.ken 2048
   openssl rsa ­-in username.ken ­-out username.key 
   openssl req ­-new -­key username.key ­-out username.csr

This process will result in a “username.csr” file, which is the certificate signing request needed in step 3 by your certificate authority.

Note: when running the last command, you will be prompted for a Common Name, which is the URL that you want to protect with SSL; we recommend making this different from your non-SSL site, for example “secure.domain.org”, but it can be anything. If you choose to make it exactly the same as your non-SSL web site, then your SSL site and your non-SSL site will always have to be hosted at the same place, on the same dedicated IP address.

Software Versions

We are currently running Apache 2.2.22, PHP 5.3.16, MySQL 5.5.25, Perl 5.14.2, and Python 2.7.3.