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.
The HTML and PHP files that make up your Website go in the public_html directory inside your home directory (or in other _html directories if you have more than one site).
To upload files, connect to your account 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.
Many free and commercial file transfer programs support SFTP. If you use MacOS, Transmit, Yummy FTP, Cyberduck, and Flow are among your options, or you can use the built-in command line “sftp” program via Terminal. Windows users can choose Cyberduck or WinSCP (or possibly FileZilla, although be sure it’s fully updated and beware of this authentication problem if you use SSH keys for any other connections), and Linux GUI apps include Nautilus and gFTP, or you can use sftp or scp on the command line.
If you need to build or preview your EE-hosted site before going live under your domain name, let us know and we will set up a temporary dev URL for you to use in the interim.
Using an SSH (Secure SHell) client, 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 logs, create cronjobs, etc. Connection settings are available on your account information page. The default shell for logins is tcsh, but if you prefer Bash, you can login and type the command “
chfn -s /usr/local/bin/bash” to change your shell.
SSH clients are built into Mac OS and other UNIX-like operating systems, while for Windows we recommend Putty. In Mac OS, you can find Applications–>Utilities–>Terminal, then substitute your custom SSH port and username in this command:
ssh -p port firstname.lastname@example.org
Note: If you have any SSH keys already configured in your client, and you encounter an error message saying “Too many authentication failures” without even being prompted for a password, we hear that some users need to add the options “
-o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no” to the command. Otherwise your SSH client assumes you only want to use keys and won’t try password auth.
If you need another MySQL database, simply contact us and we’ll create one for you. You can then work with your database(s) using the command line tools (via an SSH connection) 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. You can export and import the database via PHPMyAdmin, or use command line tools (the dump command at the old host should be something like:
mysqldump --host db --user username --password databasename > dumpfile.sql
with your username, password, and database name at the old host substituted. Once you’ve uploaded the dumpfile to EE and we’ve created the database, the import command should look like:
mysql --host db --user username --password databasename < dumpfile.sql
with your EE database username and database name substituted.
You have two different passwords associated with your Web hosting:
- To change your SSH/SFTP login password, log into your account via SSH and issue the command passwd.
- To change your MySQL database password, log into PHPMyAdmin and click Change Password. Next, you must also change the password in all installed database-backed applications (ie. CMSes) to the same new value – until you do so, those applications will be broken.
To change your password for any other service (eg. Mail or Groups), see the instructions for that service. In all cases, we strongly recommend choosing a multi-word passphrase.
You’ll find statistics for your website’s traffic on your account information page.
You can also access 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
Secure Sockets Layer or SSL (also known by its newer name Transport Layer Security or TLS) is a way of encrypting communications over a network, changing the old plain text protocol http:// to httpS://. Securing HTTP traffic is absolutely vital if you request sensitive data through your website (e.g., credit card numbers), or if you want to protect login usernames and passwords, but is also become de facto as a way of generally enhancing privacy and security on the Internet.
Free SSL Certificates from Let’s Encrypt!
We are pleased to integrate Let’s Encrypt into our Web service, offering unlimited free SSL certificates upon request – no more purchasing https certificates from third-party Certificate Authorities! This means if you want your site protected by SSL, all you have to do now is let us know, and we’ll make it happen.
To protect your data from catastrophic events, and to some extent from human error on your side or ours, we back up all user data (files and databases) every night. The backups are stored both on a separate server in our main data center in San Francisco and on a remote server near Sacramento, CA. We can recover data from any of the following points in time:
- one, two, three nights ago
- one, two, three weeks ago
- one, two, three months ago
Please let us know immediately if you discover a need for restoring any data from our backups.
Making your own backups in addition can still be useful for some purposes, but more often represents wasted disk space, so we suggest not using any automated backup tool within your account. If you do have a specific need to make your own backups under your direct control, please do not store more than one backup of the same data here at any time. If you’d like to make multiple backups of the same data, you should transfer them offsite to your own PC or another storage system, which will be much more effective and secure anyway, and delete the EE-hosted copies. (Any sizable repositories of backup data we detect in your account will be excluded from our nightly backups to avoid further duplication.)
Static page caching can be useful in making large, dynamically generated websites load faster while reducing the amount of resources required to serve them. However, it also introduces a layer of technical complexity and risk, and we believe that very few sites hosted here will see any real improvement with caching versus the baseline performance on our systems, due to plentiful resources and careful provisioning. We therefore suggest that Electric Embers clients not activate any caching behavior on their sites, unless they’ve seen a real and specific need for it, and that if any caching is used, it should be configured to automatically delete cache files older than 3 hours.
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 common executables on our system are:
/usr/local/bin/php /usr/local/bin/perl /usr/sbin/sendmail
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.
But 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, you will need to log into your account via SSH (by following the directions above), then type the command protect-web, and it will ask you a series of questions before setting up the protected access.
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.
We are currently running Apache 2.4, PHP 7.4, MySQL 5.7, Perl 5.32, Python 3.8, and Ruby 2.7.
If you are following the instructions like https://make.wordpress.org/cli/handbook/installing/ and want to be able to run wp-cli.phar as just
wp then you need to create a folder in your home directory named
bin and copy wp-cli.phar into
bin/wp (you won’t be able to copy it to
Python comes with venvso you can do things like this to set up a “Python virtual environment”, and then use Pip to install whatever Python modules you like to that environment:
python3 -m venv testenv cd testenv source bin/activate.csh (exact command here depends on which shell you use) pip list pip install --upgrade pip
Frequently Asked Questions:Why am I getting a "Unable to negotiate a key exchange method" error when connecting over SFTP/SSH?
This error indicates that your SFTP/SSH client software requires an older, less secure connection protocol than our servers are configured for. If you are able to update your client software to the latest version, that may eliminate this error. If not, please contact email@example.com and we will loosen the protocol requirement on your account to enable you to connect.
An authorized contact on your account should email firstname.lastname@example.org to request a password reset.
No, sorry, we don’t currently have that sort of interface for DNS or Web hosting. For most purposes we believe you won’t feel the lack, as you can make any technical requests to us and have them fulfilled promptly and unfailingly, and with the benefit of our wide-ranging technical knowledge, which may save you from innocent mistakes. We do recognize that one-click installation of Web applications (CMSes, blogs, etc.) is a valuable service, but most of these applications have their own very easy command-line installers, and we will assist as much as we can if you run into difficulties.
Unfortunately, we cannot always guarantee your web hosting environment here will be 100% PCI-compliant. For your site to pass PCI compliance scans, you would have to have more control over the hosting environment than we are able to grant you as a hosting customer.
We run a fully updated and secured version of FreeBSD operating system, and we update all installed software with any available security fix as soon as we feasibly can. But sometimes a vulnerability rated as critical by PCI compliance vendors is given a much lower priority by the developers of the affected software, so there is no available fix for some time. In other cases, in order to preserve compatibility and usability for all our users, we have to move slowly and carefully in switching the version of a given piece of software in response to a very low-risk vulnerability. During any of these intervals, there is no way for us to offer PCI compliance.
But if you must accept credit card payments, we would strongly encourage you to avoid any such PCI requirement by accepting payments a different way. Your current credit card processor may offer a different type of software integration where 100% of payment info is accepted and handled (transparently to users) on the card processor’s server instead of yours, or you could try using a third-party payment gateway like PayPal, Square, etc. These services are required to be PCI compliant and may offer a much simpler solution for your organization.