Set up your own cloud analytics machine with Google Compute Engine (GCE) and open source tools
...
If you did not select to install the OpenSSH server during the system installation, but you nonetheless want now to connect to the system with an SSH client from remote, you can do it now: sudo apt-get install ssh openssh-server
I tend to suggest to newbie to use the pre-installed nano for its apparent simplicity, but if you want to use the more popular vim I suggest to install the nox version: sudo apt-get install nano vim-nox
ifconfig
to check the id of yhe network card used by the systemsudo nano /etc/network/interfaces
iface eno1 inet static
address 192.168.x.yyy
netmask 255.255.255.0
network 192.168.x.0
broadcast 192.168.x.255
gateway 192.168.x.1
dns-nameserver 8.8.8.8 8.8.4.4
where x is linked to the local network, while yyy is the requested fixed internal IP address for the server.
...
...
add the Neo4j key into the apt package manager:
sudo wget -qO - http://debian.neo4j.org/neotechnology.gpg.key | apt-key add -
add Neo4J to the apt sources list:
sudo echo 'deb http://debian.neo4j.org/repo stable/' | sudo tee --append /etc/apt/sources.list.d/neo4j.list
update the apt package list:
sudo apt-get update
install neo4j:
sudo apt-get install neo4j
ensure the server is running:
sudo service neo4j-service status
the server is listening on default port 7474
open the neo4j config file for edit:
sudo nano /etc/neo4j/neo4j-server.properties
Uncomment the line
#org.neo4j.server.webserver.address=0.0.0.0
to allow connection from ANY external URL
restart the Neo4j service:
sudo service neo4j-service restart
If not already installed, proceed with all the following:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mysql-server
When asked about the root password you should always leave it blank as we'll change it later.
When the installation finish, run sudo mysql_secure_installation
, then:
mysql -u root -p
CREATE USER 'username'@'localhost' IDENTIFIED BY 'pwd';
GRANT ALL ON *.* TO 'username'@'localhost';
FLUSH PRIVILEGES;
CREATE USER 'username'@'%' IDENTIFIED BY 'pwd';
GRANT ALL ON *.* TO 'username'@'%';
create .my.cnf with credentials sudo nano /etc/mysql/.my.cnf add following lines for each group [groupname] host = user = password =
if that does not work, try to save it in the home folder of the user, or add "default.file = location" in the R connection string
install web interface (dbninja?)
run script (text file with SQL statements!) to add tables to a database: mysql -u username -p password dbname < fpath + fname
First of all, install the standard program to monitor performance: sudo apt-get install mysqltuner
This program should be run periodically to get insights into the server efficiency, and have some feedback clues into how to tweak the configuration.
Let's open now the configuration file: sudo nano /etc/mysql/my.cnf
To expose MySQL to a specific IP, scroll to the position with bind-address = 127.0.0.1
, which stand for localhost
, i.e. the machine itself, and substitute that address with the one you want to coonnect. If instead you want to connect from anywhere write down bind-address = 0.0.0.0
To change the port the server listen to, scroll down to the lines (two!) port = 3306
, and put the desired number in both [client] and [mysqld] submenus.
Change general ENGINE to MYISAM adding the row default_storage_engine=MYISAM
Control that general character set is UTF8 and general collation is UTF8_unicode_ci:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
tweak parameters so that the maximum potential RAM is less than 1/k of the installed RAM
To ensure the changes take effect, remember to restart the server: sudo service mysql restart
While not compulsory, having a web interface to access the server from a browser anytime anywhere in the world could be quite helpful. My preferred one is DB Ninja, which is a proprietary software but totally free for personal use, and also for work if it used from a single computer at any single time.
sudo apt-get install apache2
. To check whether the server is working, open the browser and run the URL http://your_IP/
.sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
. To check whether PHP is working, create a file index.php in /var/www/html
with the code ```, and run the previous URL again. You should be greeted by a lot of info about PHP.sudo apt-get install libapache2-mod-auth-mysql php5-mysql php5-json
sudo service apache2 restart
.wget http://www.dbninja.com/download/dbninja.zip
unzip dbninja.zip
mv dbninja /var/www/html/mysqlmanager
_users' directory
in the previous destination directory chmod 777 /var/www/html/mysqlmanager/_users/
http://your_IP/mysqlmanager/
and follow the intructions_users/admin
directory to something unique, to force any perpetrator to guess the username in addition to the password.library(devtools)
# install_github('RcppCore/Rcpp') # Install this if <RPostgres> is not installing
# install_github('rstats-db/DBI') # Install this if <RPostgres> is not installing
# install_github('rstats-db/RPostgres')
install_github("slowkow/ggrepel") # https://github.com/slowkow/ggrepel ggrepel provides geoms for ggplot2 to repel overlapping text labels
install_github('rstudio/rmarkdown')
install_github('swarm-lab/editR')
install_github('ramnathv/rCharts')
install_github('ramnathv/rMaps')
install_github('hrbrmstr/waffle')
install_github('ramnathv/slidifyLibraries')
install_github('ramnathv/slidify')
install_github('rstudio/shinydashboard')
install_github('trestletech/shinyTable')
install_github("daattali/shinyjs") # https://github.com/daattali/shinyjs
install_github('ThomasSiegmund/shinyTypeahead') # https://github.com/ThomasSiegmund/shinyTypeahead
install_github("rstudio/profvis") # http://rpubs.com/wch/123888
install_github('skardhamar/rga')
install_github('jcheng5/googleCharts')
install_github('twitter/AnomalyDetection')
install_github('hadley/bigvis')
install_github('leeper/rio')
install_github('56north/hexamapmaker')
install_github('jennybc/googlesheets') # https://github.com/jennybc/googlesheets ## also on CRAN for the stable version.
install_github('hadley/xml2')
install_github('trestletech/plumber') # https://github.com/trestletech/plumber
# HTMLWIDGETS: http://www.htmlwidgets.org/showcase_plotly.html
# ALL htmlwidgets works in shiny with the standard function:
# - ui: xxxOutput('plot_id'),
# - server: output$plot_id <- renderxxx({ ... })
# where xxx is the name of the package
install_github('ramnathv/htmlwidgets')
install.packages('rglwidget')
install_github('rstudio/leaflet') # http://rstudio.github.io/leaflet/
install_github('rstudio/dygraphs') # http://rstudio.github.io/dygraphs/
install_github('ropensci/plotly') # https://plot.ly/r/
install_github('jbkunst/highcharter') # http://jkunst.com/highcharter/
install_github('dataknowledge/visNetwork') # http://dataknowledge.github.io/visNetwork/ ## also on CRAN for the stable version.
install_github('christophergandrud/networkD3') # http://christophergandrud.github.io/networkD3/ ## also on CRAN for the stable version
install_github('rstudio/d3heatmap') # https://github.com/rstudio/d3heatmap
install_github('rstudio/DT') # http://rstudio.github.io/DT/
install_github('bwlewis/rthreejs') # https://github.com/bwlewis/rthreejs ===> The package itself is called just <threejs>
install_github('rich-iannone/DiagrammeRsvg')
install_github('rich-iannone/DiagrammeR') # http://rich-iannone.github.io/DiagrammeR/
install_github('hrbrmstr/metricsgraphics') # http://hrbrmstr.github.io/metricsgraphics/
install_github('renkun-ken/formattable') # http://renkun.me/formattable/
install_github('bokeh/rbokeh') # http://hafen.github.io/rbokeh/
install_github('smartinsightsfromdata/rpivotTable') # https://github.com/smartinsightsfromdata/rpivotTable
install_github('htmlwidgets/sparkline') # https://github.com/htmlwidgets/sparkline
install_github('hrbrmstr/streamgraph') # http://hrbrmstr.github.io/streamgraph/
install_github('jrowen/rhandsontable') # http://jrowen.github.io/rhandsontable/
install_github('kbroman/qtlcharts') # http://kbroman.org/qtlcharts/
install_github('hrbrmstr/taucharts') # https://github.com/hrbrmstr/taucharts
install_github('timelyportfolio/rcdimple') # https://github.com/timelyportfolio/rcdimple
install_github('garthtarr/pairsD3') # http://github.com/garthtarr/pairsD3
install_github('timelyportfolio/parcoords') # https://github.com/timelyportfolio/parcoords
install_github('timelyportfolio/svgPanZoom') # https://github.com/timelyportfolio/svgPanZoom
install_github('rstudio/crosstalk') # dependency for D3TableFilter
install_github('ThomasSiegmund/D3TableFilter') # https://github.com/ThomasSiegmund/D3TableFilter
install_github('timelyportfolio/listviewer') # https://github.com/timelyportfolio/listviewer
install_github('jcheng5/bubbles') # https://github.com/jcheng5/bubbles
install_github('timelyportfolio/sunburstR') # https://github.com/timelyportfolio/sunburstR
install_github('armish/coffeewheel') # https://github.com/armish/coffeewheel
install_github('jbkunst/d3wordcloud') # https://github.com/jbkunst/d3wordcloud, http://rpubs.com/jbkunst/133106
install_github('timelyportfolio/sortableR') # https://github.com/timelyportfolio/sortableR
install_github('ramnathv/rChartsCalmap') # https://github.com/ramnathv/rChartsCalmap
install_github('durtal/calheatmapR') # http://durtal.github.io/calheatmapR/index.html
install_github('garthtarr/edgebundleR') # https://github.com/garthtarr/edgebundleR
install_github('juba/scatterD3') # https://github.com/juba/scatterD3
install_github('timelyportfolio/comicR') # http://timelyportfolio.github.io/buildingwidgets/week18/readme.html
install_github('timelyportfolio/katexR') # http://www.buildingwidgets.com/blog/2015/2/5/week-05-katex-in-r
install_github('timelyportfolio/loryR') # http://timelyportfolio.github.io/buildingwidgets/week19/readme.html
install_github('timelyportfolio/d3vennR') # http://www.buildingwidgets.com/blog/2015/6/5/week-22-d3vennr
install_github('timelyportfolio/d3hiveR') # http://www.buildingwidgets.com/blog/2015/7/11/week-27-d3hiver
install_github('adymimos/rWordCloud') # https://github.com/adymimos/rWordCloud
install_github('htmlwidgets/knob') # https://github.com/htmlwidgets/knob
install_github('timelyportfolio/parsetR') #
install_github('timelyportfolio/stockchartR') #
install_github('timelyportfolio/gifrecordeR') #
install_github('timelyportfolio/mapshaper_htmlwidget') #
install_github('cmpolis/datacomb', subdir = 'pkg') #
install_github('timelyportfolio/timelineR') #
install_github('timelyportfolio/d3radarR') #
install_github('timelyportfolio/functionplotR') #
install_github('timelyportfolio/railroadR') #
install_github('richfitz/remoji') #
install_github('timelyportfolio/summarytrees@htmlwidget')
####################################
pkg.lst <- c( 'Amelia', 'car', 'caret', 'classInt', 'corrplot', 'colourpicker', 'data.table', 'devtools', 'diffobj', 'forecast', 'foreach', 'funModeling', 'ggvis', 'glmnet', 'gmodels', 'googleVis', 'gridExtra', 'Hmisc', 'httr', 'janitor', 'listviewer', 'lme4', 'metafor', 'mgcv', 'mlr', 'modelr', 'multcomp', 'nlme', 'parallel', 'plyr', 'psych', 'randomForest', 'RColorBrewer', 'Rcpp', 'reshape2', 'rio', 'RMySQL', 'scales', 'simpletable', 'sjPlot', 'sjmisc', 'sparklyr', 'survival', 'tidyquant', 'tidyverse', 'validate', 'vcd', 'viridis', 'xtable' ) install.packages(pkg.lst, dependencies = TRUE)
pkg.lst <- c( 'cartography', 'cshapes', 'fields', 'gdistance', 'geojsonio', 'geosphere', 'ggmap', 'GISTools', 'mapmisc', 'maps', 'maptools', 'mapview', 'quickmapr', 'raster', 'rgdal', 'rgeos', 'RgoogleMaps', 'rworldmap', 'rworldxtra', 'sf', 'sp', 'tigris', 'tmap', 'tmaptools' ) install.packages(pkg.lst, dependencies = TRUE)
pkg.lst <- c('igraph', 'network', 'networkDynamic', 'sna') install.packages(pkg.lst, dependencies = TRUE)
pkg.lst <- c('ggplot2', 'geomnet', 'GGally', 'ggalt', 'ggedit', 'ggExtra', 'ggfortify', 'ggforce', 'ggiraph', 'ggnetwork', 'ggpmisc', 'ggQC', 'ggraph', 'ggrepel', 'ggtern', 'ggthemes', 'waffle' ) install.packages(pkg.lst, dependencies = TRUE)
pkg.lst <- c( 'bookdown', 'bsplus', 'commonmark', 'flexdashboard', 'htmlTable', 'knitr', 'prettydoc', 'revealjs', 'rmarkdown', 'rmdformats', 'rmdshower', 'rsconnect', 'shiny', 'shinycssloaders', 'shinydashboard', 'shinyDND', 'shinyjqui', 'shinyjs', 'shinythemes', 'shinyWidgets' 'tufte', 'tufterhandout' ) install.packages(pkg.lst, dependencies = TRUE)
pkg.lst <- c( 'htmlwidgets', 'DiagrammeR', 'DT', 'dygraphs', 'edgebundleR', 'formattable', 'googleway', 'highcharter', 'leaflet', 'mapview', 'networkD3', 'qtlcharts', 'pairsD3', 'plotly', 'rAmCharts', 'rbokeh', 'rhandsontable', 'scatterD3', 'sunburstR', 'timevis', 'tmap', 'visNetwork' ) install.packages(pkg.lst, dependencies = TRUE)
pkg.lst <- c('ndtv') install.packages(pkg.lst, dependencies = TRUE)
###################################
library(devtools)
install_github('hadley/ggplot2') # ggplot dev:
install_github("dgrtwo/gganimate") # gganimate: https://github.com/dgrtwo/gganimate
install_github("robjohnnoble/ggmuller") # ggmuller: https://thesefewlines.wordpress.com/2016/08/20/how-to-ggmuller/
install_github("guiastrennec/ggplus") # ggplus: https://github.com/guiastrennec/ggplus
install_github("lionel-/ggstance") # ggstance: https://github.com/lionel-/ggstance
install_github('Ather-Energy/ggTimeSeries') # ggTimeSeries: https://github.com/Ather-Energy/ggTimeSeries
install_github("sachsmc/plotROC") # plotROC: https://github.com/sachsmc/plotROC
install_github('jcheng5/bubbles') # bubbles: https://github.com/jcheng5/bubbles install_github('Kitware/candela', subdir='R/candela', dependencies = TRUE) # candela: https://candela.readthedocs.io/en/latest/index.html install_github('neuhausi/canvasXpress') # canvasXpress: https://github.com/neuhausi/canvasXpress/ install_github('yutannihilation/chartist') # chartist: https://github.com/yutannihilation/chartist install_github('armish/coffeewheel') # coffeewheel: https://github.com/armish/coffeewheel, https://www.jasondavies.com/coffee-wheel/ install_github('rstudio/d3heatmap') # d3heatmap: https://github.com/rstudio/d3heatmap install_github(c('rstudio/crosstalk', 'ThomasSiegmund/D3TableFilter')) # D3TableFilter: https://github.com/ThomasSiegmund/D3TableFilter install_github("timelyportfolio/exportwidget") # exportwidget: https://github.com/timelyportfolio/exportwidget install_github('prpatil/healthvis') # healthvis: https://github.com/prpatil/healthvis install_github('56north/hexamapmaker') # hexamapmaker: https://github.com/56north/hexamapmaker install_github('hrbrmstr/metricsgraphics') # metricsgraphics: http://hrbrmstr.github.io/metricsgraphics/ install_github("dgrapov/networkly") # networkly: https://github.com/dgrapov/networkly, http://dgrapov.github.io/networkly/ install_github('timelyportfolio/parcoords') # parcoords: https://github.com/timelyportfolio/parcoords install_github('smartinsightsfromdata/rpivotTable') # rpivotTable: https://github.com/smartinsightsfromdata/rpivotTable install_github('ramnathv/rChartsCalmap') # rChartsCalmap: http://cal-heatmap.com/ install_github('bwlewis/rthreejs') # rthreejs: https://github.com/bwlewis/rthreejs install_github('htmlwidgets/sparkline') # sparklines: https://github.com/htmlwidgets/sparkline install_github('hrbrmstr/streamgraph') # streamgraph: http://hrbrmstr.github.io/streamgraph/ install_github('hrbrmstr/taucharts') # taucharts: https://github.com/hrbrmstr/taucharts install_github('lchiffon/wordcloud2') # wordcloud2: https://github.com/lchiffon/wordcloud2
by can be found here.
All packages should be installed as su to ensure a unique shared library between normal users and the shiny-srv user, and avoid duplication and possible mismatches in versions: sudo su R install.packages("pkg_name") q() exit
The single installation line could be replaced by the following in case of multiple installations: dep.pkg <- c(...) # list of packages pkgs.not.installed <- dep.pkg[!sapply(dep.pkg, function(p) require(p, character.only = TRUE))] if( length(pkgs.not.installed) > 0 ) install.packages(pkgs.not.installed, dependencies = TRUE)
Even if not directly needed for installing packages from CRAN, it is important to install devtools as the first package because some packages need to install packages dependencies that need to be compiled from source.
pkgs <- c(
'broom', 'Cairo', 'circlize', 'classInt', 'colourpicker', 'data.table', 'DT', 'dygraphs', 'e1071', 'flexdashboard', 'forcats', 'forecast', 'extrafont',
'GGally', 'geojsonio', 'ggplot2', 'ggiraph', 'ggmap', 'ggparallel', 'ggrepel', 'ggspatial', 'ggthemes', 'glmnet',
'highcharter', 'htmltools', 'jsonlite', 'leaflet', 'leaflet.extras', 'lme4', 'lubridate',
'mapview', 'maptools', 'mgcv', 'mlr', 'modelr', 'multcomp', 'nlme', 'odbc', 'openxlsx', 'party', 'plyr', 'pool', 'quantmod',
'RColorBrewer', 'rgeos', 'rgdal', 'rmapshaper', 'rmarkdown', 'rbokeh', 'RMySQL', 'rpart', 'rpart.plot', 'rpivotTable', 'rvest',
'scales', 'sf', 'shinydashboard', 'shinyjs', 'shinythemes', 'shinyWidgets', 'showtext', 'sp', 'spdplyr', 'stringr',
'tidyverse', 'tmap', 'vcd', 'viridis', 'xml2', 'xts', 'zoo'
)
install.packages(pkgs, dependencies = TRUE)
sqldf, qcc, reshape2, randomForest, ggvis, rgl, diagrammeR, network3D, googleVis, googlesheets, car, glmnet, survival, caret, xtable, maps, diffobj, feather, foreach, gmodels, highcharter, Hmisc, mice, nnet, e1071, kernLab,
library(devtools)
install_github('bhaskarvk/leaflet.extras') install_github('rstudio/pool')
source('http://bioconductor.org/biocLite.R')
biocLite('SVGAnnotation')
biocLite('IRanges')
biocLite('Rgraphviz')
biocLite('AnnotationDbi')
sudo apt-get install curl libssl-dev libcurl4-gnutls-dev
sudo apt-get install libmysqlclient-dev
sudo add-apt-repository ppa:ubuntugis/ppa
sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install libgdal-dev libgeos-dev libproj-dev
sudo apt-get install libudunits2-dev
sudo apt-get install libv8-3.14-dev
sudo apt-get install libprotobuf-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libcairo2-dev libxt-dev
sudo apt-get install libgsl0-dev
sudo apt-get install libgmp3-dev
sudo apt-get install r-cran-rgl libcgal-dev libglu1-mesa-dev libglu1-mesa-dev
sudo apt-get install openjdk-8-*
sudo apt-get install r-cran-rjava
sudo R CMD javareconf
Install first the shiny package from inside R sudo su R install.packages('shiny') q() exit
download Shiny Server visiting this page and copying the address of the current version: wget https://download3.rstudio.org/ubuntu-12.04/x86_64/shiny-server-1.5.3.838-amd64.deb
install Shiny Server: sudo gdebi shiny-server-1.5.3.838-amd64.deb
Because of the way permissions work in Linux, and being the path /srv/shiny-server created by the user shiny, we can’t copy files directly there because they can’t be open by the shiny user A workaround is to create a group, say shiny-apps, and add shiny and all necessary users to it, giving the group the correct permissions:
sudo groupadd shiny-apps
sudo usermod -aG shiny-apps shiny
sudo usermod -aG shiny-apps username
cd /srv/shiny-server
sudo chown -R username:shiny-apps .
sudo chmod g+w .
sudo chmod g+s .
Afterwards you can move apps from any location in the hoome folder to the server directory:
sudo mkdir /srv/shiny-server/<APP-NAME>
sudo cp -R /home/<USER>/<APP-PATH>/* /srv/shiny-server/<APP-NAME>/
Shiny Server error logs can be found at these locations:
/var/log/shiny-server.log
/var/log/shiny-server/*.log
install auxiliary Ubuntu libraries: sudo apt-get install gdebi-core sudo apt-get install libapparmor1
download Rstudio Server: wget https://s3.amazonaws.com/rstudio-dailybuilds/rstudio-server-1.0.143-amd64.deb
For the correct file name, visit this page and copy the address behind the link RStudio Server x.yy.zzzz - Ubuntu 12.04+/Debian 8+ (64-bit)
install Rstudio Server: sudo gdebi rstudio-server-1.0.143-amd64.deb
check the installation has
check git executable has been found opening the in RStudio: Tools => Global Options => Git in case install git:
sudo apt-get install git-core
There shouldn't be any needs, but in case you need here's how you can respectively start, stop, restart or looking at the status of the server:
sudo service rstudio-server start
sudo service rstudio-server stop
sudo service rstudio-server restart
sudo service rstudio-server status
add the CRAN repository to the system file:
sudo sh -c 'echo "deb http://cran.rstudio.com/bin/linux/ubuntu xenial/" >> /etc/apt/sources.list'
add the public key of Michael Rutter to secure apt:
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -
update and upgrade apt-get:
sudo apt-get update
sudo apt-get upgrade
install R:
sudo apt-get install r-base
sudo apt-get install r-base-dev
The trick is to have Shiny only serve to the localhost and have Nginx listen to localhost and only serve to users with a password.
install ngnix $ sudo apt-get install nginx
allow port 80, and check firewall status $ sudo ufw allow 80 $ sudo ufw status
by default, nginx does not start automatically, so to check if it installed correctly the server has to be started $ sudo service nginx start
before proceeding, stop both nginx and shiny-server $ sudo service nginx stop $ sudo service shiny-server stop
backup nginx configuration $
edit nginx configuration $ sudo nano /etc/nginx/sites-available/default
substitute with following server { listen 80;
location / {
proxy_pass http://127.0.0.1:3838/;
proxy_redirect http://127.0.0.1:3838/ $scheme://$host/;
auth_basic "Username and Password are required";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
edit shiny configuration $ add 127.0.0.1 after 3838
create usernames and passwords for access $ cd /etc/nginx $ sudo htpasswd -c /etc/nginx/.htpasswd username
restart Nginx and Shiny $ sudo service nginx start $ sudo service shiny-server start
stop any running instance of Apache2
sudo service apache2 stop
uninstall Apache2 and its dependent packages. Use purge option (instead of remove) to remove dependent packages, as well as any configuration files created by them
sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
remove any other dependencies that were installed with Apache2, but are no longer used by any other package.
sudo apt-get autoremove
check if there still are any files directly belonging to Apache2 (it should return a blank line)
whereis apache2
based on previous results, remove manually like in the following example
sudo rm -rf /etc/apache2
check apache2 is actually not recognized anymore
sudo service apache2 start
HTTP 80 =>
HTTPS =>
SSH 22 => 7345
WEBMIN => 4948
SAMBA =>
MYSQL =>
XRDP =>
RSTUDIO =>
SHINY =>
NEO4J =>
CALIBRE =>
Open SSH configuration file: sudo nano /etc/ssh/sshd_config
Insert/change the following lines:
Port xxxx
Protocol 2
PermitRootLogin no
DenyUsers root
AllowUsers username
HostKey /etc/ssh/ssh_host_zzz_key
UsePrivilegeSeparation yes
RSAAuthentication yes
PubkeyAuthentication yes
Restart the service afterwards: sudo service ssh restart
sudo ufw allow OpenSSH
sudo ufw allow xxx
sudo ufw enable
sudo ufw status
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
sudo apt-get update
sudo apt-get install webmin
Click the TRY IT FREE button in the upper right corner, that should get you to this page
If you need or want to create a new account, click the More options link at the bottom. Otherwise, enter your credentials and log in.
Fill in the form with typical personal information.
There you are!
Everything you build is going to be under a project. After signing up, a first project has been alreday created for you. At this point you can:
From the left menu choose Compute Engine > VM instances, click the Create instance button, then:
Now, click on the machine name's link, near the green tick, to open the VM instance configuration page. Scroll down, and click the link default under Network interfaces / Network. In the following page, scroll down to the Firewall rules section. We are going to add multiple rules, each requires click the button Add firewall rule and enter the following information:
Name | Targets | Source IP ranges | Specified protocols and ports |
---|---|---|---|
rstudio-server | ALL | 0.0.0.0/0 | tcp:8787 |
shiny-server | ALL | 0.0.0.0/0 | tcp:3838 |
mysql-server | ALL | 0.0.0.0/0 | tcp:3306 |
postgres-server | ALL | 0.0.0.0/0 | tcp:5432 |
neo4j-server | ALL | 0.0.0.0/0 | tcp:7474 |
jupyter-nb | ALL | 0.0.0.0/0 | tcp:8888 |
zeppelin-nb | ALL | 0.0.0.0/0 | tcp:8080 |
webmin | ALL | 0.0.0.0/0 | tcp:10000 |
The following notes describe how to implement a data web analytics stack using a group of robust open source software tools:
In this guide, we will learn how to set up R on a DigitalOcean Droplet running Ubuntu 16.04 using a VM created over the Google Compute Engine, but other providers will do as well: DO - Digital Ocean, AWS - Amazon Web Services, Microsoft Azure just to mention the big ones.
Before you start building your cloud machine using this guide, you should have a separate, non-root user account set up on your server.
updated on 15-09-2017