PKC/Readme.md
Context
Given the impacts of Moore's Law, by year 2020, most Internet-connected data can be universally abstracted as a set of services, files, and page data assets, individuals can manage a scalable collection of data assets on privately owned computing resources and connect their resources to the public Internet at will. At the same time, software tools created under the Free Software movement, such as MediaWiki, Semantic MediaWiki[1],[2], Solid, Docker, Kubernetes, and Ansible[3] have matured to a point that allows for individual persons to own personally controlled data centers. This created a new asset class that can have significant technological and societal implications.
Goal
To offer personal data asset management at scale PKC aims at minimizing the operational complexity of data backup, verification, and restore process as a sound data validation workflow, while using public-key infrastructure and networked timestamps to ensure the trust-worthiness of PKC contained data.
Success Criteria
- Allow Individuals to install an instance of MediaWiki service by reading this PKC/Readme.md file.
- Make all textual content, executable software images, installation scripts in the public domain, so that everyone can share and use them at will.
- Provide instructions to learn about how to use PKC in the initial MediaWiki's database, so that people can start learning to use PKC through their own instance of MediaWiki.
Required Resources (Inputs)
- A computer that you have access to its "root" or "administrator" previledge.
- Operatng Systems that support Docker: Windows 10, Mac OS X Big Sur 11.2.3 and Linux.
- Under Windows 10 Environment, some VPN software might interfere with [Docker]'s Windows Subsystem for Linux, a.k.a. Windows Subsystem for Linux (WSL), you will need to remove VPN software before installing Docker. In case you don't want to remvoe your VPN software, or your Docker and Bash have compatibility issues, please try to Installing VirtualBox for PKC solution.
- Access to the Internet during intallation time. Please try to perform the installation on a network with 10Mbps+ to the Internet. After installation, this system can operated without access to the Internet.
- A page content verification extension called:DataAccounting is being developed, the specification can be found on an external website[4].
Installation Procedure/Implementation Process
- Installation must be conducted by a person who possess the root password of the target machine. When it starts installing, root password needs to be provided in a command line interface (CLI).
- You will need Git, the software installed on your machine. You may follow the instructions on Git Software Installation and Download.
- Install Docker, the Installation instructions and downloadable files can be found here: https://docs.docker.com/get-started/
- After the success of Docker installation, launch a terminal application, or often called command line interface (CLI)interface, move your working directory using the command
cd
", meaning change your working directory, to a directory in your file system. For Mac OS X and Linux operating systems, Terminal applications are bundled during installation. For Windows 10 PKC Installation, please refer to this page.
Assume the directory you keep your working files is called: Workspace
, your terminal application/command line interface (CLI) should present a prompt, similar to the following format: (your environment might also display machine name and user name along with the working directory name)
~/userName/Workspace$
Download the entire package using git
. You may copy the instruction as follows:
~/userName/Workspace$ git clone https://github.com/xlp0/PKC.git
- After the
git clone
instruction copied relevant data to your working directory, using the commandcd
to the PKC directory that contains the scriptup.sh
, and type:./up.sh
to execute the script.
~/userName/Workspace$ cd PKC ~/userName/Workspace/PKC$ ./up.sh
- After you submitted the
./up.sh
in your command line interface, you will be asked for a password, type in the root password for the machine you are trying to install. - Depends on your network connection, this process will download around 5GB of data, so that it will take a while.
- Open a browser: type the following URL to the browser's URL field: http://localhost:9352.
- If you plan to set up https for your PKC, please refer to the page:Nginx as Reverse Proxy.
Expected Outcome(Outputs)
- Every 30 minutes, all the changes you made to your local instance of MediaWiki will be automatically backed up to the directory's "backup/" sub-directory.
- The textual content stored in MediaWiki's database can will be stored in an XML file: XLPLATEST.xml
- All the uploaded files, assuming the file names are accepted by the host operating system, will be dumped to the "backup/MediaFile/" sub-directory.
- New applications and data processing patterns can be defined by PageFlow
Boundary Conditions
- For Windows operating system, a number of things may go wrong, therefore, please refer to PKC on Windows Platform.
- We can not warrant any reliability, completeness, and accuracy of this installation procedure. Any action you take upon this information and execute this script is at your own risk, We will not be liable for any losses and damages in connection to the use of the actions and software prescribed here.
- We have only tested on a small number of machines and configurations, your mileage may vary.
- Do not remove any of the files in the directory with
backup/
, such asdocker-compose.yml
and theLocalSettings.php
. These files are the configuration files for Docker and MediaWiki respectively. Missing them, this system will cease to work. - Many pre-defined parameters can be replaced in the .env file stored in the PKC directory. It allows flexible configuration of your system. For more information, please read Configure your own PKC instance.
- For the sake of reducing typos, the project has moved from https://github.com/xlp0/PersonalKnowledgeContainer to https://github.com/xlp0/PKC. For the current implementation of Github, these two git repository names point to the same source. When GitHub change this practice, it will change. We recommend you to use the shorter version.
References
- ↑ Skaf-Molli, Hala; Canals, G ́erˆome; Molli, Pascal (2010). DSMW: Distributed Semantic MediaWiki (PDF). Part II. Berlin Heidelberg: Springer-Verlag. p. 26–430.
- ↑ Koren, Yaron (2020). Working with MediaWiki (2nd ed.). local page: WikiWorks Press. ISBN 978-1540761149.
- ↑ https://www.mediawiki.org/wiki/Meza
- ↑ https://aqua.inblock.io/index.php/Main_Page