====== Moved to Full VPS instead of shared hosting. ====== --- //[[stunder_site@igazine.com|Eric McWilliams]] 2025/05/15 20:10// I started my [[https://www.dokuwiki.org/dokuwiki|dokuwiki]] adventures like 2 or 3 weeks ago hosting things in some shared space at [[https://www.dreamhost.com/|Dreamhost]]. I prefer having my instance on a shared host and not hosting this myself. The server/webserver/php setup alone can get pretty demanding on my personal time although these days it was pretty much "Spin up [[https://www.debian.org/|Debian]] VM, configure initial server, install Apache and php, then download and tar the [[https://www.dokuwiki.org/dokuwiki|dokuwiki]] packaged from their download page. The real headache comes in setting [[https://www.dokuwiki.org/dokuwiki|dokuwiki]] server permissions and not granting to much access to the rest of the world. I am still not 100% sure I did it right and wouldn't be surprised if some bot finds this instance and spams the hell out of the backend. Well as I started adding [[https://www.dokuwiki.org/plugins|plugins]] for dokuwiki I got to the point of loading a plugin I loved, and used years ago called [[https://www.dokuwiki.org/plugin:graphviz|Graphviz]]. [[https://graphviz.org|Graphviz]] is open-source graph visualization software and includes a language called dot built by AT&T Labs this whole package was used to automate large network/telco drawings. On the shared hosting provider, the plugin constantly broke for me. I wracked my brain out for a day or two and it dawned on me that the hosting provider probably wouldn't allow a web/php script to call back and run an executable without some special permissions. I spent another day trying to figure out a work around with no luck. Just to test my theory I spun up another self-contained VM at [[https://www.digitalocean.com/|Digital Ocean]] another cloud provider/ISP I have been using for years now. After configuring the server and packages I loaded up the dokuwiki plugins with Graphviz and gave it a test and YES it works now! digraph G { size ="4,4"; main [shape=box]; /* this is a comment */ main -> parse [weight=8]; parse -> execute; main -> init [style=dotted]; main -> cleanup; execute -> { make_string; printf} init -> make_string; edge [color=red]; // so is this main -> printf [style=bold,label="100 times"]; make_string [label="make a\nstring"]; node [shape=box,style=filled,color=".7 .3 1.0"]; execute -> compare; } {{tag>blog, hosting, virtual}}