This post is a checklist for setting up an Ubuntu 16.04 server with PHP and MySQL. I mention my own chosen hosting provider quite a few times but the advice applies generally.
My experience with Digital Ocean has been good, especially good compared with Hostmonster. This is to be expected since I’m a developer and Digital Ocean has a system that uses “droplets” that are designed with developers in mind. But Hostmonster was especially bad. You can’t even get php 7, and further the highest version of php you can get for the command-line version is 5.2 something.
Besides being a dev I write fiction. Please check out my work, neo-pulp sci fi of a kind devs would like: good sci fi with tentacles.
With DO each “droplet” is a virtual machine running in the cloud. You can spin up your own server on Ubuntu 16.04, say, and then take a snapshot and reproduce it after you’ve gotten it tuned and optimized to your desire.
The list contains a majority but not all the tasks involved in setting up Apache web hosting. I want to emphasize that this is not an exhaustive list. You will need to take further security measures than are recommended here. I decided for my own security reasons not to go into all the precautions I’ve taken.
A prefacing note about mail: If you want fully functional mail, I would advise you to check out Mail in a Box, for which a specific version of Ubuntu is required. For me, this will be my only hope of setting up incoming mail on my own server. (I only have outgoing mail yet, which is much easier to set up.) If your time is too limited to set up your own mail, either outgoing or incoming, I can tell you it’s fairly easy to get set up with Zoho mail, and they have a free business plan. You can use it as long as your needs aren’t comprehensive—in other words if you only need a handful of email addresses.
Here is the checklist:
1 - Create a non-root user
2 - Set up a public-private rsa key pair for your non-root user.
3 - Installed PHP 7 and MySQL
4 - For php programmers: short list of indispensable php extensions to get in early:
5 - Create a MySQL user, define MySQL params, set up ports in my.cnf
6 - Configure your apache .conf file to do things such as
Miscellaneous; don’t forget to
7 - Set up reverse DNS
8 - If you want to send email from your server, one way to do it is to set up Postfix. After that, you will at least be able to use the “mail” function within php. There are still several steps to take if you want that mail to actually have a chance at bypassing any spam filters whatsoever.
This link about legitimizing your site for mail was a pretty good list of the actions to complete to make your sent mail from your domain seem viable to spam filters.
I'll tell you honestly a fact about the reviews I write on Amazon for writers whom I've met, Tweeted to, or with whom I've otherwise exchanged words. All the Amazon reviews I give for those writers will award 4 to 5 stars to the work. This kind of review is a measure of how much I enjoyed the work; and when I know I'm helping a fellow writer with a sales issue, without exception I enjoy the reading process. I think this is only fair because so many people give Amazon reviews who apparently lack all talent to distinguish good from bad reads. These reviews determine sales very much of the time; a lot of time that is someone's livelihood.
This does not at all hold true for private, writer-to-writer criticism. There, I am incisive in whatever way I think will be most helpful. Depending on the writer's experience and express desires, I may open with a lot of complementary stuff but I will always tell the recipient what I would do to revise the work if it were my own. This is not to spare a writer's feelings; rather, it is helpful in many cases to lead with what is working as opposed to getting into that which needs work. Therefore, even if a writer has told me beforehand that s/he doesn't need or want the complementary stuff at all, I may give it nonetheless. This factor depends on the nature of the work as much as the nature of the author. It is just what I've found to work best—for me and for fellow writers whom I critique. This doesn't mean that I will say anything about the work that is not true. If there wasn't anything good, I would say it was no good.
Getting PHP 7 installed on OSX El Capitan was pretty easy. But to get it fully working was difficult; there are a few little things that were pretty tough to figure out, one of which is worth mentioning here.
I recommend to install it with these great instructions: PHP 7 Install from Justin Hileman.
After this, PHP 7 would run after I restarted Apache. However, whenever I navigated to a localhost file such as index.html, the file would just download. This was confusing because I was getting no errors or anything in the logs.
I had to break PHP 5 connections to handlers so that PHP 7 handled the files instead.
In my case, I had a line in my httpd.conf file that read
AddHandler php5-script .php .htm .html
All I had to do was comment that out by placing a "#" in front of it.
This line was telling my old PHP 5 module to handle scripts with the specified extensions. It was probably unneccessary even for PHP 5 to run properly. Anyhow, once I ridded myself of that line, PHP 7 ran and handled files as expected.
To generalize, find any references in your Apache .conf files that are specific to the PHP 5 module. Remark those out. They may not even need replacements. The Homebrew installation should already have taken care of that.
It's great science fiction. In this one I strove to write a philosophically scintillating tale but philosophically with shootouts. There is also gambling and drinking. You won't be sorry if you read "The Future Machine"!
I have learned my lesson. The rest of this document is an important, binding statement relative to the rest of my life.
Each time I program a website I hear the quiet voice who says "next time I'll do it right." I am killing that guy. He is the one who makes it possible for my next thought to be "but this time I am taking a shortcut, this one last time." He has to go. It's unprofessional to have that guy (gal as the case may be) living in you. If time were instantiated as actual material--cold hard cash, say--he would be throwing it on the bonfire of the vanities.
TYPE OF SPEECH ACT: Declarative CONTENTS OF SPEECH ACT: I hereby declare my own inability and unwillingness to write code containing shortcuts and sell it (so to speak; to myself, employer, or president, et cetera) as code that is complete.
TYPE OF SPEECH ACT: Commisive CONTENTS OF SPEECH ACT: Never again will I allow myself to engage in the activity I just described.
This document constitutes a refusal and a declaration of freedom from writing, for example, a CMS theme that requires the menu names to be entered into a text file stored statically on the server; does this reather than storing the menu names in a db table for which I'd created a UI.
It was planning a joke that brought me back to this very important fact: Being does have an understructure that can be articulated, and that if we can articulate that understructure, we will have invented artificial intelligence. Does no one else realize this? I feel like people realize this and just have not said it. I'm saying it.
This is a reminder to myself: David, it's the most important mission of all. (It is amazing that I received time in my life to read Martin Heidegger's Being and Time three or four times and study it intensely under the power of only my own determinedness to do so.)
I believe the answer lies around Aristotle in his time and place and writing; for me, that is. For others it goes back to other traditions and philosophies. After all, it is being we're talking about here.
Looking back about a year, my philosophical stance has changed pretty bigtime on where I should store stuff. What I would have called "the cloud mentality" back then now seems like the way to go. What seemed like mere fashion has trumped my older way of thinking. Why? Well, it is not that I've given into fashion, Buster. (Bet your ass it ain't.) Rather, convenience wins out. With several devices, it's a pain to maintain a definitive copy.
To today-David's current perspective, keeping everything on my own drive is more analogous to the proverbeal old geezer who keeps all his money as cash in a proverbeal matress.
This guy, calling himself a "Consultant on the topic of genius," has too much gall to be believed--but you gotta love him for it. To quote him (Davidson's biz on Google):
"Warning, folks. This is a very objective, unbiased statement that will be difficult for all competitors of Davidson to hear. Here's the review: I rarely use the term genius, but when I do it's in reference to myself, baby. SO TWEET THAT AROUND YOUR CLOUD.*"
*For free catchphrase commissions in the first quarter of 2016 CONTACT ME. email@example.com
-Robert Davidson: firstname.lastname@example.org.
Weird guy, Robert Davidson. Anyway, he's got this he-witch series that's pretty funny. . . .
If you think of Wattpad not as a publishing platform but a social medium--a version of Facebook--it's the ideal one for writers. As far as calling it publishing--that may be a bit of a joke. I myself am conducting an experiment: Meet Robert Davidson.
Me and Stephen were chatting on Telegram about Star Wars: The Force Awakens. I decided to roll some of it into a blog post. (You have accepted, acknowledged, and legally resigned to accept an official spoiler alert by perpetrating active and willful linguistic interpretation of the symbols that constitute the the full and prescient understanding that currently is, or is experienced as "properly owned and operated consciousness of this sentence.")
SWFA was the most perfect thromage I've ever seen. I was 8 years old again watching VHS tapes. A "thromage" is an homage that throws the series forward. The artist doing the thromage, in this case JJ Abrams, ritualistically pays respect to the original but at the same time makes it entirely new (and so sorry to sound like a Modernist).
Anyway, back to the VHS flashback: I swear I could see the magnetic tracking; remember with VCRs how some of them had knobs and you could adjust it? Anyway SWFA was so frickin authentic I got the Stars in the hyperspace jump all confused with the magnetic static of eighties technology. You know, as the Millenium Falcon shot into hyperspace? With my little knob maybe it was like Han's handle switch thingy he squeezes and Iwas right there with him...anyway.
There was some heavy-handedness, sure , but other elements made the heavy handedness inarguably right, in my view.
It trod that dangerous line, as with the catwalk. As soon as I saw the classic Death Star-ish catwalk I knew Han was going to die. Then there was the ground-parting thing. Anywhere else, cheesy as fuck of course. But here in SWFA? Let's not pretend--let's NOT pretend--we didn't already know that the elemental forces of good and evil were pitted against each other. In fact let us light that up with all the light sabres in the galaxy so that the thing becomes so "heavyhanded" it starts to create what I want to call external subtext; which would read something like this: "Yeah we all know about Star Wars, and this is a more celebratory and communal kinda thing. But still radiant with subtle cues that George Lucas apparently wired into my still-wet-with-youth neurons."
If Iwere to give it a rating. . . . I thought it was right up there with
3, 4, and 5 4, 5, and 6.
wordpress, which i believe is a great technology overall, has horrifying code. well, that was my first reaction, and like most of the extreme criticism you read (especially from writers and programmers, of which i'm both), it's a bit of an overstatement. it's probably safer to say it's organized differently from code i'm used to. also some of my code would be horrifying to a lot of people, at least in earlier versions. what does everyone think? i wish it were at least vaguely MVC. or is there a pattern at work i'm not seeing?
he mentions Frank Conroy, whose Stop Time was one of the inspirations for Silas. i'm always on the lookout for that which pulls left brain nearer the right.
i think that one definition of creativity should be able to cover any kind of making. that would take a long time to articulate, but i'm trying to do it.
cause every once in a while i come across a website that looks significantly better in firefox. i don't think the reverse is true.
firefox seems to have all the same dev tools as chrome but in a slightly different configuration. it's probably just a matter of what you're used too without any deep difference between the two.