The information below will give you everything you need to use your Private Web hosting account. If you have only a static site with no database, then you have our Shared Web service, and should head on over to the Shared Web support page instead.Your account information page
Your SFTP/SSH connection settings, MySQL database settings, and site access statistics are available at your own account information page, accessible at the web address of the form:
Substitute your own username in the URL, and enter your web hosting username and password when prompted.
You can connect using SFTP (SSH File Transfer Protocol) or SCP (Secure Copy) on your custom private port; 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.
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 port firstname.lastname@example.org
For Windows, we recommend Putty as a good SSH client.
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 the 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.
If you need a MySQL database, simply contact us and we’ll create one for you. You can then work with your database using the command line tools or using the friendly graphical user interface of PHPMyAdmin. MySQL settings are available on your account information page.
To migrate a database from a previous Web host to EE, you should first create a database dump on the old host, then download that dump file along with the rest of your Web site files and upload it to EE, where you can import it into your new database. The dump command at the old host should be something like:
mysqldump -u username -p'password' databasename > dumpfile.sql
with your username, password, and database name at the old host substituted. If you get a “command not found”, you’ll need to use the full path to the mysqldump executable, which may or may not be /usr/local/mysql/bin/mysqldump– refer to your old host’s tech support for assistance. Once you’ve uploaded the dumpfile to EE and we’ve created the database, the import command should look like:
mysql -h db -u username -p'password' databasename < dumpfile.sql
with your EE database username, password, and database name substituted.
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..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
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.
Caching can be very useful in making dynamically generated websites load faster while reducing the amount of resources required to serve them. If your CMS supports caching, we encourage you to turn it on. However, caching gone wrong can result in the accumulation of thousands of tiny useless files that interfere with our backups, so we ask that Electric Embers clients or their CMSs automatically delete cache files older than 3 hours.
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.
Also 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.
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:
There are four ways your website code can generate and send email:
- Your code can use the PHP function mail(), or another similar function in whatever language you’re using;
- Your code can directly call the sendmail binary at /usr/sbin/sendmail;
- Your code can submit mail over (unauthenticated) SMTP by connecting to web.electricembers.net on TCP port 25;
- Your code can submit mail over (probably authenticated) SMTP by connecting to your own email server using its preferred settings.
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:
- You generate an RSA private key.
- You use the key to generate a certificate signing request (CSR).
- 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.
- Your Certificate Authority sends back your certificate, possibly with intermediate certificates.
- You send your certificate(s) and private key location to EE.
- 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.
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.