VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.037USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.008SP
├── Own SP
0.635SP
└── Incoming DelegationsDeleg
+4.373SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.635SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.373SP | SP |
| Effective Power | 5.008SP | SP |
| Reward SP (pending) | 0.001SP | SP |
| SBD | ||
| sbd_balance | 0.000SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "1032.697716 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7110.962090 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | egoto |
| id | 292449 |
| rank | 949,062 |
| reputation | 39687193 |
| created | 2017-08-01T07:39:45 |
| recovery_account | steem |
| proxy | None |
| post_count | 2 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2017-08-01T13:23:39 |
| last_root_post | 2017-08-01T13:23:39 |
| last_vote_time | 2017-08-05T20:28:39 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.000 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 1032.697716 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7110.962090 VESTS |
| reward_vesting_balance | 2.064391 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2017-08-01T10:25:24 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 292449,
"name": "egoto",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7797PS6hazrJTyJTCCoTLCTdUSnLCKakMEgLU9NnLDALi9B6TC",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6AvKiXPwYqUCNuJ1fL3uzJQso928oXU7ckaFovY4PkiAryUkKa",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5Qgy28ixQhQ4FfGTuGsjztm5pQEsZXcvsmC36SAxT4fMPTNBFz",
1
]
]
},
"memo_key": "STM5mTvMVLU86ZNAHTmGCMXhGh3FfoVc83XEBJenGs2m3VZk6qSuw",
"json_metadata": "{\"profile\":{\"profile_image\":\"http://i.imgur.com/R5MSBHH.png?1\"}}",
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"http://i.imgur.com/R5MSBHH.png?1\"}}",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2017-08-01T10:25:24",
"created": "2017-08-01T07:39:45",
"mined": false,
"recovery_account": "steem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 2,
"can_vote": true,
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779061896
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779061896
},
"voting_power": 0,
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.000 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "1970-01-01T00:00:00",
"sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"reward_sbd_balance": "0.000 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "2.064391 VESTS",
"reward_vesting_steem": "0.001 STEEM",
"vesting_shares": "1032.697716 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7110.962090 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": 0,
"to_withdraw": 0,
"withdraw_routes": 0,
"curation_rewards": 1,
"posting_rewards": 0,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2017-08-01T13:23:39",
"last_root_post": "2017-08-01T13:23:39",
"last_vote_time": "2017-08-05T20:28:39",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": 39687193,
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 949062
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
2026/05/17 23:51:36
2026/05/17 23:51:36
| delegator | steem |
| delegatee | egoto |
| vesting shares | 7110.962090 VESTS |
| Transaction Info | Block #106142979/Trx 2c77fa3e6df76bff7e0a671e8452f9f8a3f3cc31 |
View Raw JSON Data
{
"trx_id": "2c77fa3e6df76bff7e0a671e8452f9f8a3f3cc31",
"block": 106142979,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-17T23:51:36",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "7110.962090 VESTS"
}
]
}2026/05/12 02:14:00
2026/05/12 02:14:00
| delegator | steem |
| delegatee | egoto |
| vesting shares | 4398.751685 VESTS |
| Transaction Info | Block #105973783/Trx 873ee95e6fddd1371432bd000d2814087d243e97 |
View Raw JSON Data
{
"trx_id": "873ee95e6fddd1371432bd000d2814087d243e97",
"block": 105973783,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-12T02:14:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "4398.751685 VESTS"
}
]
}2026/04/25 23:13:06
2026/04/25 23:13:06
| delegator | steem |
| delegatee | egoto |
| vesting shares | 7123.477846 VESTS |
| Transaction Info | Block #105510640/Trx 07ab6ea22954e344060b77b1488ceebe08308128 |
View Raw JSON Data
{
"trx_id": "07ab6ea22954e344060b77b1488ceebe08308128",
"block": 105510640,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-04-25T23:13:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "7123.477846 VESTS"
}
]
}2026/01/23 06:43:54
2026/01/23 06:43:54
| delegator | steem |
| delegatee | egoto |
| vesting shares | 4440.298504 VESTS |
| Transaction Info | Block #102850526/Trx 210aa57b4fa66492865fb8d4c530057586da85ef |
View Raw JSON Data
{
"trx_id": "210aa57b4fa66492865fb8d4c530057586da85ef",
"block": 102850526,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-01-23T06:43:54",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "4440.298504 VESTS"
}
]
}2024/12/17 02:03:18
2024/12/17 02:03:18
| delegator | steem |
| delegatee | egoto |
| vesting shares | 4604.517701 VESTS |
| Transaction Info | Block #91296944/Trx 9c92d30d1ed299b48ae9fe5866a5a3f65ea7c363 |
View Raw JSON Data
{
"trx_id": "9c92d30d1ed299b48ae9fe5866a5a3f65ea7c363",
"block": 91296944,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2024-12-17T02:03:18",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "4604.517701 VESTS"
}
]
}2023/11/13 17:46:06
2023/11/13 17:46:06
| delegator | steem |
| delegatee | egoto |
| vesting shares | 4773.651233 VESTS |
| Transaction Info | Block #79851147/Trx 2b886531d4f683dab90d2f5f5409c1aab4704d5a |
View Raw JSON Data
{
"trx_id": "2b886531d4f683dab90d2f5f5409c1aab4704d5a",
"block": 79851147,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-11-13T17:46:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "4773.651233 VESTS"
}
]
}2023/09/21 21:21:33
2023/09/21 21:21:33
| delegator | steem |
| delegatee | egoto |
| vesting shares | 7710.930019 VESTS |
| Transaction Info | Block #78347263/Trx 7c9ad85d053a0e74b322c5e658cec9c35933c0bf |
View Raw JSON Data
{
"trx_id": "7c9ad85d053a0e74b322c5e658cec9c35933c0bf",
"block": 78347263,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-09-21T21:21:33",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "7710.930019 VESTS"
}
]
}2022/11/03 11:13:09
2022/11/03 11:13:09
| delegator | steem |
| delegatee | egoto |
| vesting shares | 7932.611457 VESTS |
| Transaction Info | Block #69112683/Trx bab7e6fe7b92920649dc0e0d8b82eba387aaaa76 |
View Raw JSON Data
{
"trx_id": "bab7e6fe7b92920649dc0e0d8b82eba387aaaa76",
"block": 69112683,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-03T11:13:09",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "7932.611457 VESTS"
}
]
}2022/01/17 10:31:21
2022/01/17 10:31:21
| delegator | steem |
| delegatee | egoto |
| vesting shares | 8153.144688 VESTS |
| Transaction Info | Block #60808894/Trx 6fb4359c86a7368e3eb8871a3f8a343b41d061f0 |
View Raw JSON Data
{
"trx_id": "6fb4359c86a7368e3eb8871a3f8a343b41d061f0",
"block": 60808894,
"trx_in_block": 30,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-01-17T10:31:21",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "8153.144688 VESTS"
}
]
}2021/06/14 00:27:42
2021/06/14 00:27:42
| delegator | steem |
| delegatee | egoto |
| vesting shares | 8336.913346 VESTS |
| Transaction Info | Block #54607305/Trx c309ea726bb9131e6b3ad39b90f639e797f593a2 |
View Raw JSON Data
{
"trx_id": "c309ea726bb9131e6b3ad39b90f639e797f593a2",
"block": 54607305,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2021-06-14T00:27:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "8336.913346 VESTS"
}
]
}2020/12/11 10:47:24
2020/12/11 10:47:24
| delegator | steem |
| delegatee | egoto |
| vesting shares | 8524.335320 VESTS |
| Transaction Info | Block #49354784/Trx f60ab8ad399f5c03e0ca1650797b3be2b14f3a36 |
View Raw JSON Data
{
"trx_id": "f60ab8ad399f5c03e0ca1650797b3be2b14f3a36",
"block": 49354784,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-11T10:47:24",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "8524.335320 VESTS"
}
]
}2020/12/06 04:24:42
2020/12/06 04:24:42
| delegator | steem |
| delegatee | egoto |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49206352/Trx ee7396706ea71e84b0c380d3ffa7c50e2c89916e |
View Raw JSON Data
{
"trx_id": "ee7396706ea71e84b0c380d3ffa7c50e2c89916e",
"block": 49206352,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-06T04:24:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "1912.543513 VESTS"
}
]
}2020/12/05 14:25:36
2020/12/05 14:25:36
| delegator | steem |
| delegatee | egoto |
| vesting shares | 8530.543174 VESTS |
| Transaction Info | Block #49189883/Trx 358bd8f5d54e89f01a76e238b6930ea779d9521e |
View Raw JSON Data
{
"trx_id": "358bd8f5d54e89f01a76e238b6930ea779d9521e",
"block": 49189883,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-05T14:25:36",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "8530.543174 VESTS"
}
]
}2020/11/02 14:50:45
2020/11/02 14:50:45
| delegator | steem |
| delegatee | egoto |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #48256865/Trx 1f484ac3d8f8551fd079be56b8814a09359b4715 |
View Raw JSON Data
{
"trx_id": "1f484ac3d8f8551fd079be56b8814a09359b4715",
"block": 48256865,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-11-02T14:50:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "1920.017158 VESTS"
}
]
}2020/05/09 05:21:33
2020/05/09 05:21:33
| delegator | steem |
| delegatee | egoto |
| vesting shares | 8733.348533 VESTS |
| Transaction Info | Block #43216589/Trx 4990d35515550dd6831b9a3072062156cb1adb51 |
View Raw JSON Data
{
"trx_id": "4990d35515550dd6831b9a3072062156cb1adb51",
"block": 43216589,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-09T05:21:33",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "8733.348533 VESTS"
}
]
}2020/05/08 08:54:06
2020/05/08 08:54:06
| delegator | steem |
| delegatee | egoto |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43192618/Trx 3f8c25d6a22303008938a94aacbaf8578154350c |
View Raw JSON Data
{
"trx_id": "3f8c25d6a22303008938a94aacbaf8578154350c",
"block": 43192618,
"trx_in_block": 20,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-08T08:54:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "1953.311140 VESTS"
}
]
}2020/04/15 21:23:00
2020/04/15 21:23:00
| delegator | steem |
| delegatee | egoto |
| vesting shares | 8746.325952 VESTS |
| Transaction Info | Block #42562290/Trx 6158e9198962a35fbcb0befc8b55210cdeb44e5b |
View Raw JSON Data
{
"trx_id": "6158e9198962a35fbcb0befc8b55210cdeb44e5b",
"block": 42562290,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-04-15T21:23:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "8746.325952 VESTS"
}
]
}2019/08/01 08:54:06
2019/08/01 08:54:06
| parent author | egoto |
| parent permlink | development-environment-with-puphpet |
| author | steemitboard |
| permlink | steemitboard-notify-egoto-20190801t085406000z |
| title | |
| body | Congratulations @egoto! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@egoto/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@egoto) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=egoto)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #35167880/Trx 0708ba430e18ccf1c692caf27ea1f413def4c29d |
View Raw JSON Data
{
"trx_id": "0708ba430e18ccf1c692caf27ea1f413def4c29d",
"block": 35167880,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-08-01T08:54:06",
"op": [
"comment",
{
"parent_author": "egoto",
"parent_permlink": "development-environment-with-puphpet",
"author": "steemitboard",
"permlink": "steemitboard-notify-egoto-20190801t085406000z",
"title": "",
"body": "Congratulations @egoto! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@egoto/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@egoto) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=egoto)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}2019/05/12 14:37:45
2019/05/12 14:37:45
| delegator | steem |
| delegatee | egoto |
| vesting shares | 8941.948757 VESTS |
| Transaction Info | Block #32845158/Trx 8da62353682e21a3bc5b779d2f4ce01b89a64900 |
View Raw JSON Data
{
"trx_id": "8da62353682e21a3bc5b779d2f4ce01b89a64900",
"block": 32845158,
"trx_in_block": 20,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-12T14:37:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "8941.948757 VESTS"
}
]
}2018/05/16 20:15:36
2018/05/16 20:15:36
| delegator | steem |
| delegatee | egoto |
| vesting shares | 9141.501192 VESTS |
| Transaction Info | Block #22489813/Trx 81e9ca6ad0a971b197170919f0edc485a6c4b283 |
View Raw JSON Data
{
"trx_id": "81e9ca6ad0a971b197170919f0edc485a6c4b283",
"block": 22489813,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-16T20:15:36",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "9141.501192 VESTS"
}
]
}2018/01/09 06:37:45
2018/01/09 06:37:45
| delegator | steem |
| delegatee | egoto |
| vesting shares | 29692.491576 VESTS |
| Transaction Info | Block #18819555/Trx e839fd888fe9deed6a905efa1ae63deb17c91b9e |
View Raw JSON Data
{
"trx_id": "e839fd888fe9deed6a905efa1ae63deb17c91b9e",
"block": 18819555,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-09T06:37:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "29692.491576 VESTS"
}
]
}egotoreceived 0.001 SP curation reward for @steemdevelopers / steem-developers-delegated-sp-fundraiser-for-educators-and-students2017/08/10 12:47:15
egotoreceived 0.001 SP curation reward for @steemdevelopers / steem-developers-delegated-sp-fundraiser-for-educators-and-students
2017/08/10 12:47:15
| curator | egoto |
| reward | 2.064391 VESTS |
| comment author | steemdevelopers |
| comment permlink | steem-developers-delegated-sp-fundraiser-for-educators-and-students |
| Transaction Info | Block #14452867/Virtual Operation #25 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 14452867,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 25,
"timestamp": "2017-08-10T12:47:15",
"op": [
"curation_reward",
{
"curator": "egoto",
"reward": "2.064391 VESTS",
"comment_author": "steemdevelopers",
"comment_permlink": "steem-developers-delegated-sp-fundraiser-for-educators-and-students"
}
]
}egotoupvoted (100.00%) @epicdesigns / why-you-should-never-have-to-explain-yourself2017/08/05 20:28:39
egotoupvoted (100.00%) @epicdesigns / why-you-should-never-have-to-explain-yourself
2017/08/05 20:28:39
| voter | egoto |
| author | epicdesigns |
| permlink | why-you-should-never-have-to-explain-yourself |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14318231/Trx 88c7ba7c23d2a84b40331bae15dc174feeb24bd7 |
View Raw JSON Data
{
"trx_id": "88c7ba7c23d2a84b40331bae15dc174feeb24bd7",
"block": 14318231,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-05T20:28:39",
"op": [
"vote",
{
"voter": "egoto",
"author": "epicdesigns",
"permlink": "why-you-should-never-have-to-explain-yourself",
"weight": 10000
}
]
}egotofollowed @iamnotageek2017/08/04 08:23:03
egotofollowed @iamnotageek
2017/08/04 08:23:03
| required auths | [] |
| required posting auths | ["egoto"] |
| id | follow |
| json | ["follow",{"follower":"egoto","following":"iamnotageek","what":["blog"]}] |
| Transaction Info | Block #14274966/Trx 807cdd7046c2f465ff6fabcc96d1b520c197eed0 |
View Raw JSON Data
{
"trx_id": "807cdd7046c2f465ff6fabcc96d1b520c197eed0",
"block": 14274966,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-04T08:23:03",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"egoto"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"egoto\",\"following\":\"iamnotageek\",\"what\":[\"blog\"]}]"
}
]
}2017/08/04 04:25:51
2017/08/04 04:25:51
| delegator | steem |
| delegatee | egoto |
| vesting shares | 29943.302284 VESTS |
| Transaction Info | Block #14270405/Trx 8791b8e7d24f3f174c5b6890f37fdb23a5ec968c |
View Raw JSON Data
{
"trx_id": "8791b8e7d24f3f174c5b6890f37fdb23a5ec968c",
"block": 14270405,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-04T04:25:51",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "egoto",
"vesting_shares": "29943.302284 VESTS"
}
]
}2017/08/03 14:39:21
2017/08/03 14:39:21
| required auths | [] |
| required posting auths | ["egoto"] |
| id | follow |
| json | ["follow",{"follower":"egoto","following":"mindover","what":["blog"]}] |
| Transaction Info | Block #14253880/Trx 026628c022c8fce837e3cdac79aef9cbfd2f4ac9 |
View Raw JSON Data
{
"trx_id": "026628c022c8fce837e3cdac79aef9cbfd2f4ac9",
"block": 14253880,
"trx_in_block": 24,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-03T14:39:21",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"egoto"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"egoto\",\"following\":\"mindover\",\"what\":[\"blog\"]}]"
}
]
}egotoupvoted (100.00%) @mindover / steemit-for-dummies-like-me-everything-you-need-know-to-get-started2017/08/03 14:39:12
egotoupvoted (100.00%) @mindover / steemit-for-dummies-like-me-everything-you-need-know-to-get-started
2017/08/03 14:39:12
| voter | egoto |
| author | mindover |
| permlink | steemit-for-dummies-like-me-everything-you-need-know-to-get-started |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14253877/Trx 84a9b965a16cdbaf96779e72856617b03203d268 |
View Raw JSON Data
{
"trx_id": "84a9b965a16cdbaf96779e72856617b03203d268",
"block": 14253877,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-03T14:39:12",
"op": [
"vote",
{
"voter": "egoto",
"author": "mindover",
"permlink": "steemit-for-dummies-like-me-everything-you-need-know-to-get-started",
"weight": 10000
}
]
}2017/08/03 14:33:06
2017/08/03 14:33:06
| voter | egoto |
| author | steemdevelopers |
| permlink | steem-developers-delegated-sp-fundraiser-for-educators-and-students |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14253755/Trx 2e66e8f7b7c5da85e9d80ef44655dd6223e3d8b7 |
View Raw JSON Data
{
"trx_id": "2e66e8f7b7c5da85e9d80ef44655dd6223e3d8b7",
"block": 14253755,
"trx_in_block": 20,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-03T14:33:06",
"op": [
"vote",
{
"voter": "egoto",
"author": "steemdevelopers",
"permlink": "steem-developers-delegated-sp-fundraiser-for-educators-and-students",
"weight": 10000
}
]
}egotoupvoted (100.00%) @dine77 / spending-6-hour-time-at-hong-kong-airpot2017/08/02 19:27:45
egotoupvoted (100.00%) @dine77 / spending-6-hour-time-at-hong-kong-airpot
2017/08/02 19:27:45
| voter | egoto |
| author | dine77 |
| permlink | spending-6-hour-time-at-hong-kong-airpot |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14230862/Trx 388d493c3e39748bfe35a1428c9b7ba18324945f |
View Raw JSON Data
{
"trx_id": "388d493c3e39748bfe35a1428c9b7ba18324945f",
"block": 14230862,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-02T19:27:45",
"op": [
"vote",
{
"voter": "egoto",
"author": "dine77",
"permlink": "spending-6-hour-time-at-hong-kong-airpot",
"weight": 10000
}
]
}2017/08/02 16:40:24
2017/08/02 16:40:24
| voter | egoto |
| author | steemdevelopers |
| permlink | steem-developers-learn-and-earn-become-a-developer-and-get-paid-to-goto-school |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14227518/Trx feacf6d6dbbf3d9cedf330995141b725475b4b31 |
View Raw JSON Data
{
"trx_id": "feacf6d6dbbf3d9cedf330995141b725475b4b31",
"block": 14227518,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-02T16:40:24",
"op": [
"vote",
{
"voter": "egoto",
"author": "steemdevelopers",
"permlink": "steem-developers-learn-and-earn-become-a-developer-and-get-paid-to-goto-school",
"weight": 10000
}
]
}egotofollowed @steemdevelopers2017/08/02 14:29:09
egotofollowed @steemdevelopers
2017/08/02 14:29:09
| required auths | [] |
| required posting auths | ["egoto"] |
| id | follow |
| json | ["follow",{"follower":"egoto","following":"steemdevelopers","what":["blog"]}] |
| Transaction Info | Block #14224894/Trx bf444bd093b7edc340fae4156af0e45348601153 |
View Raw JSON Data
{
"trx_id": "bf444bd093b7edc340fae4156af0e45348601153",
"block": 14224894,
"trx_in_block": 22,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-02T14:29:09",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"egoto"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"egoto\",\"following\":\"steemdevelopers\",\"what\":[\"blog\"]}]"
}
]
}egotoupvoted (100.00%) @steemdevelopers / steem-developers-the-rewards-system-and-how-it-works-flowcharts2017/08/02 14:28:24
egotoupvoted (100.00%) @steemdevelopers / steem-developers-the-rewards-system-and-how-it-works-flowcharts
2017/08/02 14:28:24
| voter | egoto |
| author | steemdevelopers |
| permlink | steem-developers-the-rewards-system-and-how-it-works-flowcharts |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14224879/Trx ae553898b6881897688d422e9007b1181da62637 |
View Raw JSON Data
{
"trx_id": "ae553898b6881897688d422e9007b1181da62637",
"block": 14224879,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-02T14:28:24",
"op": [
"vote",
{
"voter": "egoto",
"author": "steemdevelopers",
"permlink": "steem-developers-the-rewards-system-and-how-it-works-flowcharts",
"weight": 10000
}
]
}egotofollowed @clutteredcode2017/08/01 21:18:36
egotofollowed @clutteredcode
2017/08/01 21:18:36
| required auths | [] |
| required posting auths | ["egoto"] |
| id | follow |
| json | ["follow",{"follower":"egoto","following":"clutteredcode","what":["blog"]}] |
| Transaction Info | Block #14204287/Trx 8f5a6dde2621714941cd9fb935e8ae63783780d4 |
View Raw JSON Data
{
"trx_id": "8f5a6dde2621714941cd9fb935e8ae63783780d4",
"block": 14204287,
"trx_in_block": 28,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T21:18:36",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"egoto"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"egoto\",\"following\":\"clutteredcode\",\"what\":[\"blog\"]}]"
}
]
}2017/08/01 20:57:30
2017/08/01 20:57:30
| voter | egoto |
| author | woz.software |
| permlink | how-to-query-steemsql-in-f-a-functional-language-from-the-ml-family |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14203865/Trx 6ca8fba17c292966586187750d9be318c164a1ac |
View Raw JSON Data
{
"trx_id": "6ca8fba17c292966586187750d9be318c164a1ac",
"block": 14203865,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T20:57:30",
"op": [
"vote",
{
"voter": "egoto",
"author": "woz.software",
"permlink": "how-to-query-steemsql-in-f-a-functional-language-from-the-ml-family",
"weight": 10000
}
]
}egotofollowed @woz.software2017/08/01 20:57:12
egotofollowed @woz.software
2017/08/01 20:57:12
| required auths | [] |
| required posting auths | ["egoto"] |
| id | follow |
| json | ["follow",{"follower":"egoto","following":"woz.software","what":["blog"]}] |
| Transaction Info | Block #14203859/Trx b3c0426f8b36b097ef8406d50276138cabbe479b |
View Raw JSON Data
{
"trx_id": "b3c0426f8b36b097ef8406d50276138cabbe479b",
"block": 14203859,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T20:57:12",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"egoto"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"egoto\",\"following\":\"woz.software\",\"what\":[\"blog\"]}]"
}
]
}egotofollowed @bitcoinparadise2017/08/01 19:28:45
egotofollowed @bitcoinparadise
2017/08/01 19:28:45
| required auths | [] |
| required posting auths | ["egoto"] |
| id | follow |
| json | ["follow",{"follower":"egoto","following":"bitcoinparadise","what":["blog"]}] |
| Transaction Info | Block #14202090/Trx 2ff61d0b7b42bec7ea32bcb01461abe9ba2ea086 |
View Raw JSON Data
{
"trx_id": "2ff61d0b7b42bec7ea32bcb01461abe9ba2ea086",
"block": 14202090,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T19:28:45",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"egoto"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"egoto\",\"following\":\"bitcoinparadise\",\"what\":[\"blog\"]}]"
}
]
}egotofollowed @crypticwyrm2017/08/01 19:19:06
egotofollowed @crypticwyrm
2017/08/01 19:19:06
| required auths | [] |
| required posting auths | ["egoto"] |
| id | follow |
| json | ["follow",{"follower":"egoto","following":"crypticwyrm","what":["blog"]}] |
| Transaction Info | Block #14201897/Trx d4e1c822150717b1c6071a3d3dc4d2d36680b876 |
View Raw JSON Data
{
"trx_id": "d4e1c822150717b1c6071a3d3dc4d2d36680b876",
"block": 14201897,
"trx_in_block": 37,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T19:19:06",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"egoto"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"egoto\",\"following\":\"crypticwyrm\",\"what\":[\"blog\"]}]"
}
]
}2017/08/01 19:18:36
2017/08/01 19:18:36
| voter | egoto |
| author | crypticwyrm |
| permlink | the-best-tools-to-create-interactive-fiction-text-adventures-and-visual-novels-with-or-without-programming-knowledge |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14201887/Trx c0f177b74529eb036c05901ae45868d220a60106 |
View Raw JSON Data
{
"trx_id": "c0f177b74529eb036c05901ae45868d220a60106",
"block": 14201887,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T19:18:36",
"op": [
"vote",
{
"voter": "egoto",
"author": "crypticwyrm",
"permlink": "the-best-tools-to-create-interactive-fiction-text-adventures-and-visual-novels-with-or-without-programming-knowledge",
"weight": 10000
}
]
}bitcoinparadiseupvoted (0.02%) @egoto / development-environment-with-puphpet2017/08/01 19:08:33
bitcoinparadiseupvoted (0.02%) @egoto / development-environment-with-puphpet
2017/08/01 19:08:33
| voter | bitcoinparadise |
| author | egoto |
| permlink | development-environment-with-puphpet |
| weight | 2 (0.02%) |
| Transaction Info | Block #14201686/Trx f8c87f89851e772a5226eb6271812e9f27da457b |
View Raw JSON Data
{
"trx_id": "f8c87f89851e772a5226eb6271812e9f27da457b",
"block": 14201686,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T19:08:33",
"op": [
"vote",
{
"voter": "bitcoinparadise",
"author": "egoto",
"permlink": "development-environment-with-puphpet",
"weight": 2
}
]
}egotopublished a new post: development-environment-with-puphpet2017/08/01 19:07:18
egotopublished a new post: development-environment-with-puphpet
2017/08/01 19:07:18
| parent author | |
| parent permlink | programming |
| author | egoto |
| permlink | development-environment-with-puphpet |
| title | Development Environment with Puphpet |
| body | @@ -6045,17 +6045,17 @@ ve chose -d +n followi |
| json metadata | {"tags":["programming","php","vagrant","development","technology"],"image":["http://i.imgur.com/UwR9bbF.png","http://i.imgur.com/IUzeoFN.png","http://i.imgur.com/6EGoeuu.png","http://i.imgur.com/VKnMm2j.png","http://i.imgur.com/B8aSu82.png","http://i.imgur.com/UsbcWey.png","http://i.imgur.com/dFAlVOu.png","http://i.imgur.com/rFfKohR.png","http://i.imgur.com/lxWaxW8.png","http://i.imgur.com/wIQMxbq.png","http://i.imgur.com/QUonHGF.png","http://i.imgur.com/SXyu3n0.png","http://i.imgur.com/ssfnLYD.png","http://i.imgur.com/TXIiTKz.png"],"links":["https://puphpet.com/","http://vagrantup.com","http://puppetlabs.com/","https://www.virtualbox.org/wiki/Downloads","https://launchpad.net/~ondrej/+archive/ubuntu/php/","https://mariadb.org/","http://testapp.dev"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #14201661/Trx b2516a81b5ddbea982542da4ee3f8ed6da62c77a |
View Raw JSON Data
{
"trx_id": "b2516a81b5ddbea982542da4ee3f8ed6da62c77a",
"block": 14201661,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T19:07:18",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "programming",
"author": "egoto",
"permlink": "development-environment-with-puphpet",
"title": "Development Environment with Puphpet",
"body": "@@ -6045,17 +6045,17 @@\n ve chose\n-d\n+n\n followi\n",
"json_metadata": "{\"tags\":[\"programming\",\"php\",\"vagrant\",\"development\",\"technology\"],\"image\":[\"http://i.imgur.com/UwR9bbF.png\",\"http://i.imgur.com/IUzeoFN.png\",\"http://i.imgur.com/6EGoeuu.png\",\"http://i.imgur.com/VKnMm2j.png\",\"http://i.imgur.com/B8aSu82.png\",\"http://i.imgur.com/UsbcWey.png\",\"http://i.imgur.com/dFAlVOu.png\",\"http://i.imgur.com/rFfKohR.png\",\"http://i.imgur.com/lxWaxW8.png\",\"http://i.imgur.com/wIQMxbq.png\",\"http://i.imgur.com/QUonHGF.png\",\"http://i.imgur.com/SXyu3n0.png\",\"http://i.imgur.com/ssfnLYD.png\",\"http://i.imgur.com/TXIiTKz.png\"],\"links\":[\"https://puphpet.com/\",\"http://vagrantup.com\",\"http://puppetlabs.com/\",\"https://www.virtualbox.org/wiki/Downloads\",\"https://launchpad.net/~ondrej/+archive/ubuntu/php/\",\"https://mariadb.org/\",\"http://testapp.dev\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}egotoupvoted (100.00%) @unprovoked / why-i-love-writing2017/08/01 18:01:33
egotoupvoted (100.00%) @unprovoked / why-i-love-writing
2017/08/01 18:01:33
| voter | egoto |
| author | unprovoked |
| permlink | why-i-love-writing |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14200346/Trx fd8364c03175500b81367e2f8974b921a87f8316 |
View Raw JSON Data
{
"trx_id": "fd8364c03175500b81367e2f8974b921a87f8316",
"block": 14200346,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T18:01:33",
"op": [
"vote",
{
"voter": "egoto",
"author": "unprovoked",
"permlink": "why-i-love-writing",
"weight": 10000
}
]
}egotofollowed @unprovoked2017/08/01 17:59:45
egotofollowed @unprovoked
2017/08/01 17:59:45
| required auths | [] |
| required posting auths | ["egoto"] |
| id | follow |
| json | ["follow",{"follower":"egoto","following":"unprovoked","what":["blog"]}] |
| Transaction Info | Block #14200310/Trx dfa5557223af065027d8dd0a2583bc80282a5b21 |
View Raw JSON Data
{
"trx_id": "dfa5557223af065027d8dd0a2583bc80282a5b21",
"block": 14200310,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T17:59:45",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"egoto"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"egoto\",\"following\":\"unprovoked\",\"what\":[\"blog\"]}]"
}
]
}unprovokedupvoted (3.00%) @egoto / development-environment-with-puphpet2017/08/01 17:56:12
unprovokedupvoted (3.00%) @egoto / development-environment-with-puphpet
2017/08/01 17:56:12
| voter | unprovoked |
| author | egoto |
| permlink | development-environment-with-puphpet |
| weight | 300 (3.00%) |
| Transaction Info | Block #14200239/Trx 43d19a9e59bd53436a968518ed375dbb29433c6a |
View Raw JSON Data
{
"trx_id": "43d19a9e59bd53436a968518ed375dbb29433c6a",
"block": 14200239,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T17:56:12",
"op": [
"vote",
{
"voter": "unprovoked",
"author": "egoto",
"permlink": "development-environment-with-puphpet",
"weight": 300
}
]
}egotofollowed @robinhaney2017/08/01 17:54:03
egotofollowed @robinhaney
2017/08/01 17:54:03
| required auths | [] |
| required posting auths | ["egoto"] |
| id | follow |
| json | ["follow",{"follower":"egoto","following":"robinhaney","what":["blog"]}] |
| Transaction Info | Block #14200196/Trx 463269c155dc9561f1e1fd7190f7e5f226479098 |
View Raw JSON Data
{
"trx_id": "463269c155dc9561f1e1fd7190f7e5f226479098",
"block": 14200196,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T17:54:03",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"egoto"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"egoto\",\"following\":\"robinhaney\",\"what\":[\"blog\"]}]"
}
]
}egotoupvoted (100.00%) @robinhaney / my-story-how-i-become-a-freelance-web-developer2017/08/01 17:53:15
egotoupvoted (100.00%) @robinhaney / my-story-how-i-become-a-freelance-web-developer
2017/08/01 17:53:15
| voter | egoto |
| author | robinhaney |
| permlink | my-story-how-i-become-a-freelance-web-developer |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14200180/Trx b79d01a760dd125e6e9ff441e62bdc69961c5dde |
View Raw JSON Data
{
"trx_id": "b79d01a760dd125e6e9ff441e62bdc69961c5dde",
"block": 14200180,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T17:53:15",
"op": [
"vote",
{
"voter": "egoto",
"author": "robinhaney",
"permlink": "my-story-how-i-become-a-freelance-web-developer",
"weight": 10000
}
]
}egotopublished a new post: development-environment-with-puphpet2017/08/01 17:50:45
egotopublished a new post: development-environment-with-puphpet
2017/08/01 17:50:45
| parent author | |
| parent permlink | programming |
| author | egoto |
| permlink | development-environment-with-puphpet |
| title | Development Environment with Puphpet |
| body | @@ -20734,19 +20734,18 @@ edit it -all +or put it |
| json metadata | {"tags":["programming","php","vagrant","development","technology"],"image":["http://i.imgur.com/UwR9bbF.png","http://i.imgur.com/IUzeoFN.png","http://i.imgur.com/6EGoeuu.png","http://i.imgur.com/VKnMm2j.png","http://i.imgur.com/B8aSu82.png","http://i.imgur.com/UsbcWey.png","http://i.imgur.com/dFAlVOu.png","http://i.imgur.com/rFfKohR.png","http://i.imgur.com/lxWaxW8.png","http://i.imgur.com/wIQMxbq.png","http://i.imgur.com/QUonHGF.png","http://i.imgur.com/SXyu3n0.png","http://i.imgur.com/ssfnLYD.png","http://i.imgur.com/TXIiTKz.png"],"links":["https://puphpet.com/","http://vagrantup.com","http://puppetlabs.com/","https://www.virtualbox.org/wiki/Downloads","https://launchpad.net/~ondrej/+archive/ubuntu/php/","https://mariadb.org/","http://testapp.dev"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #14200130/Trx d897de9f451159669d85d1ed946540a8be798168 |
View Raw JSON Data
{
"trx_id": "d897de9f451159669d85d1ed946540a8be798168",
"block": 14200130,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T17:50:45",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "programming",
"author": "egoto",
"permlink": "development-environment-with-puphpet",
"title": "Development Environment with Puphpet",
"body": "@@ -20734,19 +20734,18 @@\n edit it \n-all\n+or\n put it \n",
"json_metadata": "{\"tags\":[\"programming\",\"php\",\"vagrant\",\"development\",\"technology\"],\"image\":[\"http://i.imgur.com/UwR9bbF.png\",\"http://i.imgur.com/IUzeoFN.png\",\"http://i.imgur.com/6EGoeuu.png\",\"http://i.imgur.com/VKnMm2j.png\",\"http://i.imgur.com/B8aSu82.png\",\"http://i.imgur.com/UsbcWey.png\",\"http://i.imgur.com/dFAlVOu.png\",\"http://i.imgur.com/rFfKohR.png\",\"http://i.imgur.com/lxWaxW8.png\",\"http://i.imgur.com/wIQMxbq.png\",\"http://i.imgur.com/QUonHGF.png\",\"http://i.imgur.com/SXyu3n0.png\",\"http://i.imgur.com/ssfnLYD.png\",\"http://i.imgur.com/TXIiTKz.png\"],\"links\":[\"https://puphpet.com/\",\"http://vagrantup.com\",\"http://puppetlabs.com/\",\"https://www.virtualbox.org/wiki/Downloads\",\"https://launchpad.net/~ondrej/+archive/ubuntu/php/\",\"https://mariadb.org/\",\"http://testapp.dev\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2017/08/01 15:15:27
2017/08/01 15:15:27
| required auths | [] |
| required posting auths | ["egoto"] |
| id | follow |
| json | ["follow",{"follower":"egoto","following":"egota","what":["blog"]}] |
| Transaction Info | Block #14197025/Trx 416624c8f8963cab3bce5860bd792035fec6e679 |
View Raw JSON Data
{
"trx_id": "416624c8f8963cab3bce5860bd792035fec6e679",
"block": 14197025,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T15:15:27",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"egoto"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"egoto\",\"following\":\"egota\",\"what\":[\"blog\"]}]"
}
]
}egotaupvoted (100.00%) @egoto / development-environment-with-puphpet2017/08/01 15:02:30
egotaupvoted (100.00%) @egoto / development-environment-with-puphpet
2017/08/01 15:02:30
| voter | egota |
| author | egoto |
| permlink | development-environment-with-puphpet |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14196766/Trx 0d522fe53ddef4c64403365f71445dec1ebc4cbc |
View Raw JSON Data
{
"trx_id": "0d522fe53ddef4c64403365f71445dec1ebc4cbc",
"block": 14196766,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T15:02:30",
"op": [
"vote",
{
"voter": "egota",
"author": "egoto",
"permlink": "development-environment-with-puphpet",
"weight": 10000
}
]
}2017/08/01 14:12:30
2017/08/01 14:12:30
| required auths | [] |
| required posting auths | ["egoto"] |
| id | follow |
| json | ["follow",{"follower":"egoto","following":"cristi","what":["blog"]}] |
| Transaction Info | Block #14195766/Trx c93e45563dabdfb0dc7cc9aa6098830e205e5aeb |
View Raw JSON Data
{
"trx_id": "c93e45563dabdfb0dc7cc9aa6098830e205e5aeb",
"block": 14195766,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T14:12:30",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"egoto"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"egoto\",\"following\":\"cristi\",\"what\":[\"blog\"]}]"
}
]
}egotopublished a new post: development-environment-with-puphpet2017/08/01 14:01:09
egotopublished a new post: development-environment-with-puphpet
2017/08/01 14:01:09
| parent author | |
| parent permlink | programming |
| author | egoto |
| permlink | development-environment-with-puphpet |
| title | Development Environment with Puphpet |
| body | # Development Environment with Puphpet ## General I've been using PHP and the LAMP stack as my main environment since 2009. At the beginning of every project I had same issues related to a VM preparation. I found several tools on the market which I tested: Vagrant, Chef, Ansible, Puppet - these all are great and help prepare the development environment automatization. Today, I want to show a helpful tool (esspecialy from the PHP developer point of view): [Puphpet](https://puphpet.com/) Puphpet is a configurator for [Vagrant](http://vagrantup.com) and [Puppet](http://puppetlabs.com/). It prepares a package with all necessary files to run a new virtual machine with all required components by a PHP application.  In short, Puphpet helps to prepare a local development environment without detailed knowledge about Vagrant and Puppet. ## Configuration The following example shows how to run a PHP application based on the Symfony framework. The app uses LAMP. ### Requirements You need install [Vagrant](http://vagrantup.com) and [Virtualbox](https://www.virtualbox.org/wiki/Downloads) to finish that example. ### Puphpet Creator #### General options Go to the <https://puphpet.com/> website and click the green button.  On the first step, I chose the **Virtualbox** provider (you can use VmWare solutions as well) and the **Ubuntu Xenial 16.04 LTS x64** operating system.  Now is the time to set machines. I need an only one machine in the example, but that configurator gives us the possibility to specify as many as we need. To create more advanced configuration we can add more machines. The case would look like below: 1. I need an e-commerce system 2. I need a PIM solution 3. In the configurator, I can create to separated machines to test integrations between those etc. Have a look at the following picture:  The first and the second input specify identification. It doesn't really matter now, you can fill as you like. **Ip Address** input specifies an address which we can use by ssh or http to connect the new VM. In this form are also two values responsible for the memory amount (assigned to the VM) and a number of CPU's assigned to the machine (no worries you can change it later). A crucial step in the configuration process is setting-up shared folders. I want to share the `/var/www` directory between the host and VM. Files used by the application I will put into the `../www` directory. Also, I'd like to share `/vagrant` folder with my local machine. The directory will contain all data from the puphpet project directory. At the end I will see php application files in `/var/www` and puphpet application files in the `/vagrant` location. To share files between my local system (in my case it's MacOs) and the Virtual Machine environment (Ubuntu) I used shared folders option, like below.   #### Packages What is amazing, Puphpet has a packages configurator. Let's say that we need several packages installed on our VM, you can update that list also after we finish the configurator. To run my app I need following packages * **wkhtmltopdf** - my app would use it to generate pdf documents based on website views * htop, vim * zip *Note that you don't have to specify any php extensions here, there is a step later which does it.*  #### Users and Groups The netx step precise groups and users created in the VM. I need an only one user named: *testapp*. See the picture below to find how to make it.  #### Cron jobs I missed steps Locale, Firewall and Resolv in that usage showcase (left default values) adn went directly to the Cron Jobs step. The cron job configurator defines a scheduler for scripts available in the VM. I know that `/var/www` directory will be shared with my `../www` folder, therefore I can specify a script run automatically every second hour.  #### Apache Installation Now I want to configure the apache instance (look that you can choose Nginx if you prefer). For the example needs I add the only one host, let's say that I want to run my application using the `http://testapp.dev` address and I put my public app file into the `/var/www/testapp/web` directory.  And basically, that's it - it will create all necessary file to tun the host. What is nice, vagrant takes care of the `/etc/hosts/` file update. #### PHP Configuration Here we're able to specify the php version and as I've mentioned before - php extensions. I added few modules required by my app. Find all available php modules here: <https://launchpad.net/~ondrej/+archive/ubuntu/php/> Here I also specified `php-fpm` settings, actually I used the default values but here is the right place to change it. At the end, I also checked the composer installation to improve the automatization process.  #### Mysql / Mariadb The last step I'm going to use is the database setup. I want to create an initial database used by my app using [Mariadb](https://mariadb.org/) (a MySql fork).  #### Other Steps and Download Of course, there are a lot of steps you can configure like: **Solr**, **Redis** and so on but now is enough to make a test application based on that configuration. Go to the last step: *Download Your Customized Archive*. Here is the place where we can download the config puphpet module file or all projects files. Let's click on the green button  And create somewhere two folders. I've chosed following paths: * `~/testapp/vagrant` * `~/testapp/www` Unpack all downloaded file into the `testapp/vagrant` directory. #### Config.yaml The only one file generated by the configurator is located in the `vagrant/puphpet/config.yaml` path. Our file should look like below: ```yaml vagrantfile: target: local vm: provider: local: box: puphpet/ubuntu1604-x64 box_url: 'false' box_version: '0' chosen_virtualizer: virtualbox virtualizers: virtualbox: modifyvm: natdnshostresolver1: false showgui: 0 vmware: numvcpus: 1 parallels: linked_clone: 0 check_guest_tools: 0 update_guest_tools: 0 machines: vflm_k4itnhhid5s4: id: machine1 hostname: machine1.puphpet network: private_network: 192.168.56.102 forwarded_port: vflmnfp_j24v5o08cywg: host: '6637' guest: '22' memory: '2048' cpus: '4' provision: puppet: manifests_path: puphpet/puppet/manifests module_path: - puphpet/puppet/modules - puphpet/puppet/manifests options: - '--verbose' - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml' synced_folder: vflsf_8wdfqwrda380: owner: www-data group: www-data source: ./ target: /vagrant sync_type: nfs smb: smb_host: '' smb_username: '' smb_password: '' mount_options: dir_mode: '0775' file_mode: '0664' rsync: args: - '--verbose' - '--archive' - '-z' exclude: - .vagrant/ - .git/ auto: 'true' vflsf_20wd8du0kjef: owner: www-data group: www-data source: ../www target: /var/www sync_type: nfs smb: smb_host: '' smb_username: '' smb_password: '' mount_options: dir_mode: '0775' file_mode: '0664' rsync: args: - '--verbose' - '--archive' - '-z' exclude: - .vagrant/ - .git/ auto: 'true' usable_port_range: start: 10200 stop: 10500 post_up_message: '' ssh: host: 'false' port: 'false' private_key_path: 'false' username: vagrant guest_port: 'false' keep_alive: '1' forward_agent: 'false' forward_x11: 'false' shell: 'bash -l' insert_key: 'false' vagrant: host: detect proxy: http: '' https: '' ftp: '' no_proxy: '' server: install: '1' packages: - vim - htop - wkhtmltopdf - zip users_groups: install: '1' groups: - testapp users: - '{testapp}{testapp}' locale: install: '1' settings: default_locale: en_US.UTF-8 locales: - en_GB.UTF-8 - en_US.UTF-8 timezone: UTC firewall: install: '1' rules: { } resolv: install: '1' nameservers: - 8.8.8.8 - 8.8.4.4 domainname: '' searchpath: { } cron: install: '1' jobs: cj_prs7zkvw7g1b: name: 'testapp jobs' user: vagrant command: 'php /var/www//testapp/cron.php > /dev/null' minute: '1' hour: '*/2' weekday: '*' month: '*' monthday: '' nginx: install: '0' settings: version: present default_vhost: 1 proxy_buffers: '4 256k' proxy_buffer_size: 128k proxy_connect_timeout: 600s proxy_send_timeout: 600s proxy_read_timeout: 600s names_hash_bucket_size: 128 upstreams: { } vhosts: nxv_n087wiye8ku9: server_name: awesome.dev server_aliases: - www.awesome.dev www_root: /var/www/awesome listen_port: '80' client_max_body_size: 1m ssl: '0' locations: nxvl_ffz4010gqxpk: www_root: /var/www/awesome/web location: / autoindex: 'off' internal: 'false' index_files: - index.html - index.php - app.php try_files: - $uri - $uri/ - /index.php$is_args$args - /app.php$is_args$args fastcgi: '' fastcgi_index: '' fastcgi_split_path: '' proxy: '' proxy_redirect: '' nxvl_ekxxfmbtwfxp: www_root: /var/www/awesome/web location: '~ ^/(app_dev|config)\.php(/|$)' autoindex: 'off' internal: 'false' try_files: - $uri - $uri/ - /app_dev.php$is_args$args fastcgi: '127.0.0.1:9000' fastcgi_index: app_dev.php fastcgi_split_path: '^(.+\.php)(/.*)$' fast_cgi_params_extra: - 'SCRIPT_FILENAME $document_root$fastcgi_script_name' - 'APP_ENV dev' set: - '$path_info $fastcgi_path_info' proxy: '' proxy_redirect: '' nxvl_kiz7c855rr19: www_root: /var/www/awesome/web location: '~ ^/index\.php(/|$)' autoindex: 'off' internal: 'false' try_files: - $uri - $uri/ - /index.php$is_args$args fastcgi: '127.0.0.1:9000' fastcgi_index: index.php fastcgi_split_path: '^(.+\.php)(/.*)$' fast_cgi_params_extra: - 'SCRIPT_FILENAME $document_root$fastcgi_script_name' set: - '$path_info $fastcgi_path_info' proxy: '' proxy_redirect: '' nxvl_4x0fk1jrwczd: www_root: /var/www/awesome/web location: '~ ^/app\.php(/|$)' autoindex: 'off' internal: 'false' try_files: - $uri - $uri/ - /app.php$is_args$args fastcgi: '127.0.0.1:9000' fastcgi_index: app.php fastcgi_split_path: '^(.+\.php)(/.*)$' fast_cgi_params_extra: - 'SCRIPT_FILENAME $document_root$fastcgi_script_name' - 'APP_ENV prod' set: - '$path_info $fastcgi_path_info' proxy: '' proxy_redirect: '' proxies: { } apache: install: '1' settings: version: 2.4 user: www-data group: www-data default_vhost: true manage_user: false manage_group: false sendfile: 0 modules: - proxy_fcgi - rewrite vhosts: av_ds7c9tnjwhe7: servername: testapp.dev docroot: /var/www/testapp/web port: '80' setenvif: - 'Authorization "(.*)" HTTP_AUTHORIZATION=$1' custom_fragment: '' ssl: '0' ssl_cert: LETSENCRYPT ssl_key: LETSENCRYPT ssl_chain: LETSENCRYPT ssl_certs_dir: LETSENCRYPT ssl_protocol: '' ssl_cipher: '' directories: avd_rt2ki1ql2fu5: path: /var/www/testapp/web directoryindex: 'index.php app.dev app.php' options: - Indexes - FollowSymlinks - MultiViews allow_override: - All require: - 'all granted' custom_fragment: '' provider: directory files_match: avfm_v71rd527gjtf: path: (app_dev|config)\.php$ sethandler: 'proxy:fcgi://127.0.0.1:9000' setenv: - 'APP_ENV dev' custom_fragment: '' provider: filesmatch avfm_qy6m6xg433l6: path: app\.php$ sethandler: 'proxy:fcgi://127.0.0.1:9000' setenv: - 'APP_ENV prod' custom_fragment: '' provider: filesmatch avfm_cb8wrbi2n6zb: path: \.php$ sethandler: 'proxy:fcgi://127.0.0.1:9000' custom_fragment: '' provider: filesmatch letsencrypt: install: '1' settings: email: '' webserver_service: '' domains: { } php: install: '1' settings: version: '7.1' modules: php: - cli - intl - xml - curl - bz2 - mysql - geoip pear: { } pecl: { } ini: display_errors: 'On' error_reporting: '-1' session.save_path: /var/lib/php/session date.timezone: UTC fpm_ini: error_log: /var/log/php-fpm.log fpm_pools: phpfp_ebvr4hi3kq17: ini: prefix: www listen: '127.0.0.1:9000' security.limit_extensions: .php user: www-user group: www-data composer: '1' composer_home: '' xdebug: install: '1' settings: xdebug.default_enable: '1' xdebug.remote_autostart: '0' xdebug.remote_connect_back: '1' xdebug.remote_enable: '1' xdebug.remote_handler: dbgp xdebug.remote_port: '9000' blackfire: install: '0' settings: server_id: '' server_token: '' agent: http_proxy: '' https_proxy: '' log_file: stderr log_level: '1' php: agent_timeout: '0.25' log_file: '' log_level: '1' xhprof: install: '0' wpcli: install: '0' version: v1.1.0 drush: install: '0' version: 8.0.5 ruby: install: '1' versions: rv_fgahfoxuxm8m: default: '1' bundler: '1' version: 2.3.1 gems: - [email protected] - [email protected] - [email protected] python: install: '1' packages: { } versions: { } nodejs: install: '0' settings: version: '6' npm_packages: { } mariadb: install: '1' settings: version: '10.1' root_password: '123' override_options: { } users: mariadbnu_9ujhdpfj2d60: name: testapp password: '123' databases: mariadbnd_6bxe69ouot9n: name: testapp sql: '' grants: mariadbng_z4drxt7vpk11: user: testapp table: '*.*' privileges: - ALL mysql: install: '0' settings: version: '5.7' root_password: '123' override_options: { } users: mysqlnu_74n6vlw5x1vr: name: dbuser password: '123' databases: mysqlnd_w1gyqiltk87y: name: dbname sql: '' grants: mysqlng_4nlv2f7bql9c: user: dbuser table: '*.*' privileges: - ALL postgresql: install: '0' settings: global: encoding: UTF8 version: '9.6' server: postgres_password: '123' databases: { } users: { } grants: { } mongodb: install: '0' settings: bind_ip: 127.0.0.1 port: '27017' globals: version: 2.6.0 databases: { } redis: install: '0' settings: port: '6379' sqlite: install: '0' databases: { } mailhog: install: '0' settings: smtp_ip: 0.0.0.0 smtp_port: 1025 http_ip: 0.0.0.0 http_port: '8025' path: /usr/local/bin/mailhog beanstalkd: install: '0' settings: listenaddress: 0.0.0.0 listenport: '11300' maxjobsize: '65535' maxconnections: '1024' binlogdir: /var/lib/beanstalkd/binlog binlogfsync: null binlogsize: '10485760' beanstalk_console: 0 rabbitmq: install: '0' settings: port: '5672' users: { } vhosts: { } plugins: { } elastic_search: install: '0' settings: version: 2.3.1 java_install: true instances: esi_299dbdf64vje: name: es-01 solr: install: '0' settings: version: 5.5.2 port: '8984' ``` As you probably have already realized, the configurator is just a gui for the generated file. If you need change something just edit it all put it again into the <https://puphpet.com/> (drag & drop works) to load values again and add something. ## Run the Machine To run the machine go to the `vagrant` using a terminal and use the `vagrant up` command. Meantime when vagrant is running the VM put someting into the `www/testapp/web/index.php` location. I added the following code: ```php <?php phpinfo(); ``` To check if machine is working properly use `vagrant status`. To connect by ssh use `vagrant ssh`. To check if everything has been resolved properly so far just go to the <http://testapp.dev>. You should see the phpinfo page like that:  I hope you will enjoy the tool as much as I do. Next time I will show how to extend Puppet by new instructions - I will deploy my application using the configuration I created here. Bests! |
| json metadata | {"tags":["programming","php","vagrant","development","technology"],"image":["http://i.imgur.com/UwR9bbF.png","http://i.imgur.com/IUzeoFN.png","http://i.imgur.com/6EGoeuu.png","http://i.imgur.com/VKnMm2j.png","http://i.imgur.com/B8aSu82.png","http://i.imgur.com/UsbcWey.png","http://i.imgur.com/dFAlVOu.png","http://i.imgur.com/rFfKohR.png","http://i.imgur.com/lxWaxW8.png","http://i.imgur.com/wIQMxbq.png","http://i.imgur.com/QUonHGF.png","http://i.imgur.com/SXyu3n0.png","http://i.imgur.com/ssfnLYD.png","http://i.imgur.com/TXIiTKz.png"],"links":["https://puphpet.com/","http://vagrantup.com","http://puppetlabs.com/","https://www.virtualbox.org/wiki/Downloads","https://launchpad.net/~ondrej/+archive/ubuntu/php/","https://mariadb.org/","http://testapp.dev"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #14195540/Trx 78de868840fbe2e9838bd19fce0e169861ab3925 |
View Raw JSON Data
{
"trx_id": "78de868840fbe2e9838bd19fce0e169861ab3925",
"block": 14195540,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T14:01:09",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "programming",
"author": "egoto",
"permlink": "development-environment-with-puphpet",
"title": "Development Environment with Puphpet",
"body": "# Development Environment with Puphpet\n\n## General\n\nI've been using PHP and the LAMP stack as my main environment since 2009. \nAt the beginning of every project I had same issues related to a VM preparation.\n\nI found several tools on the market which I tested: Vagrant, Chef, Ansible, Puppet - these all are great and help prepare the development environment automatization. \n\nToday, I want to show a helpful tool (esspecialy from the PHP developer point of view): [Puphpet](https://puphpet.com/) \nPuphpet is a configurator for [Vagrant](http://vagrantup.com) and [Puppet](http://puppetlabs.com/). It prepares a package with all necessary files to run a new virtual machine with all required components by a PHP application.\n\n\n\nIn short, Puphpet helps to prepare a local development environment without detailed knowledge about Vagrant and Puppet.\n\n## Configuration\n\nThe following example shows how to run a PHP application based on the Symfony framework. \nThe app uses LAMP.\n\n### Requirements\n\nYou need install [Vagrant](http://vagrantup.com) and [Virtualbox](https://www.virtualbox.org/wiki/Downloads) to finish that example.\n\n### Puphpet Creator\n\n#### General options\n\nGo to the <https://puphpet.com/> website and click the green button.\n\n\n\n \nOn the first step, I chose the **Virtualbox** provider (you can use VmWare solutions as well) and the **Ubuntu Xenial 16.04 LTS x64** operating system.\n\n\n\nNow is the time to set machines. I need an only one machine in the example, but that configurator gives us the possibility to specify as many as we need. \nTo create more advanced configuration we can add more machines. The case would look like below:\n1. I need an e-commerce system\n2. I need a PIM solution\n3. In the configurator, I can create to separated machines to test integrations between those etc. \n\nHave a look at the following picture:\n\n\n\nThe first and the second input specify identification. It doesn't really matter now, you can fill as you like. **Ip Address** input specifies an address which we can use by ssh or http to connect the new VM. \nIn this form are also two values responsible for the memory amount (assigned to the VM) and a number of CPU's assigned to the machine (no worries you can change it later).\n\nA crucial step in the configuration process is setting-up shared folders. \nI want to share the `/var/www` directory between the host and VM. \nFiles used by the application I will put into the `../www` directory. Also, I'd like to share `/vagrant` folder with my local machine. The directory will contain all data from the puphpet project directory. \nAt the end I will see php application files in `/var/www` and puphpet application files in the `/vagrant` location.\n\nTo share files between my local system (in my case it's MacOs) and the Virtual Machine environment (Ubuntu) I used shared folders option, like below.\n\n\n\n\n\n#### Packages\n\nWhat is amazing, Puphpet has a packages configurator. \nLet's say that we need several packages installed on our VM, you can update that list also after we finish the configurator. \nTo run my app I need following packages\n* **wkhtmltopdf** - my app would use it to generate pdf documents based on website views\n* htop, vim\n* zip\n\n*Note that you don't have to specify any php extensions here, there is a step later which does it.*\n\n\n\n#### Users and Groups\n\nThe netx step precise groups and users created in the VM. \nI need an only one user named: *testapp*. See the picture below to find how to make it.\n\n\n\n#### Cron jobs\n\nI missed steps Locale, Firewall and Resolv in that usage showcase (left default values) adn went directly to the Cron Jobs step. \n\nThe cron job configurator defines a scheduler for scripts available in the VM. \nI know that `/var/www` directory will be shared with my `../www` folder, therefore I can specify a script run automatically every second hour.\n\n\n\n\n#### Apache Installation\n\nNow I want to configure the apache instance (look that you can choose Nginx if you prefer). \n\nFor the example needs I add the only one host, let's say that I want to run my application using the `http://testapp.dev` address and I put my public app file into the `/var/www/testapp/web` directory.\n\n\n\nAnd basically, that's it - it will create all necessary file to tun the host. What is nice, vagrant takes care of the `/etc/hosts/` file update.\n\n#### PHP Configuration\n\nHere we're able to specify the php version and as I've mentioned before - php extensions. \nI added few modules required by my app. \nFind all available php modules here: <https://launchpad.net/~ondrej/+archive/ubuntu/php/>\n\nHere I also specified `php-fpm` settings, actually I used the default values but here is the right place to change it. At the end, I also checked the composer installation to improve the automatization process.\n\n\n\n#### Mysql / Mariadb\n\nThe last step I'm going to use is the database setup. \nI want to create an initial database used by my app using [Mariadb](https://mariadb.org/) (a MySql fork).\n\n\n\n#### Other Steps and Download\n\nOf course, there are a lot of steps you can configure like: **Solr**, **Redis** and so on but now is enough to make a test application based on that configuration. Go to the last step: *Download Your Customized Archive*.\n\nHere is the place where we can download the config puphpet module file or all projects files.\nLet's click on the green button\n\n\n\nAnd create somewhere two folders. I've chosed following paths:\n\n* `~/testapp/vagrant`\n* `~/testapp/www`\n\nUnpack all downloaded file into the `testapp/vagrant` directory.\n\n#### Config.yaml\n\nThe only one file generated by the configurator is located in the `vagrant/puphpet/config.yaml` path. \nOur file should look like below:\n\n```yaml\nvagrantfile:\n target: local\n vm:\n provider:\n local:\n box: puphpet/ubuntu1604-x64\n box_url: 'false'\n box_version: '0'\n chosen_virtualizer: virtualbox\n virtualizers:\n virtualbox:\n modifyvm:\n natdnshostresolver1: false\n showgui: 0\n vmware:\n numvcpus: 1\n parallels:\n linked_clone: 0\n check_guest_tools: 0\n update_guest_tools: 0\n machines:\n vflm_k4itnhhid5s4:\n id: machine1\n hostname: machine1.puphpet\n network:\n private_network: 192.168.56.102\n forwarded_port:\n vflmnfp_j24v5o08cywg:\n host: '6637'\n guest: '22'\n memory: '2048'\n cpus: '4'\n provision:\n puppet:\n manifests_path: puphpet/puppet/manifests\n module_path:\n - puphpet/puppet/modules\n - puphpet/puppet/manifests\n options:\n - '--verbose'\n - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'\n synced_folder:\n vflsf_8wdfqwrda380:\n owner: www-data\n group: www-data\n source: ./\n target: /vagrant\n sync_type: nfs\n smb:\n smb_host: ''\n smb_username: ''\n smb_password: ''\n mount_options:\n dir_mode: '0775'\n file_mode: '0664'\n rsync:\n args:\n - '--verbose'\n - '--archive'\n - '-z'\n exclude:\n - .vagrant/\n - .git/\n auto: 'true'\n vflsf_20wd8du0kjef:\n owner: www-data\n group: www-data\n source: ../www\n target: /var/www\n sync_type: nfs\n smb:\n smb_host: ''\n smb_username: ''\n smb_password: ''\n mount_options:\n dir_mode: '0775'\n file_mode: '0664'\n rsync:\n args:\n - '--verbose'\n - '--archive'\n - '-z'\n exclude:\n - .vagrant/\n - .git/\n auto: 'true'\n usable_port_range:\n start: 10200\n stop: 10500\n post_up_message: ''\n ssh:\n host: 'false'\n port: 'false'\n private_key_path: 'false'\n username: vagrant\n guest_port: 'false'\n keep_alive: '1'\n forward_agent: 'false'\n forward_x11: 'false'\n shell: 'bash -l'\n insert_key: 'false'\n vagrant:\n host: detect\n proxy:\n http: ''\n https: ''\n ftp: ''\n no_proxy: ''\nserver:\n install: '1'\n packages:\n - vim\n - htop\n - wkhtmltopdf\n - zip\nusers_groups:\n install: '1'\n groups:\n - testapp\n users:\n - '{testapp}{testapp}'\nlocale:\n install: '1'\n settings:\n default_locale: en_US.UTF-8\n locales:\n - en_GB.UTF-8\n - en_US.UTF-8\n timezone: UTC\nfirewall:\n install: '1'\n rules: { }\nresolv:\n install: '1'\n nameservers:\n - 8.8.8.8\n - 8.8.4.4\n domainname: ''\n searchpath: { }\ncron:\n install: '1'\n jobs:\n cj_prs7zkvw7g1b:\n name: 'testapp jobs'\n user: vagrant\n command: 'php /var/www//testapp/cron.php > /dev/null'\n minute: '1'\n hour: '*/2'\n weekday: '*'\n month: '*'\n monthday: ''\nnginx:\n install: '0'\n settings:\n version: present\n default_vhost: 1\n proxy_buffers: '4 256k'\n proxy_buffer_size: 128k\n proxy_connect_timeout: 600s\n proxy_send_timeout: 600s\n proxy_read_timeout: 600s\n names_hash_bucket_size: 128\n upstreams: { }\n vhosts:\n nxv_n087wiye8ku9:\n server_name: awesome.dev\n server_aliases:\n - www.awesome.dev\n www_root: /var/www/awesome\n listen_port: '80'\n client_max_body_size: 1m\n ssl: '0'\n locations:\n nxvl_ffz4010gqxpk:\n www_root: /var/www/awesome/web\n location: /\n autoindex: 'off'\n internal: 'false'\n index_files:\n - index.html\n - index.php\n - app.php\n try_files:\n - $uri\n - $uri/\n - /index.php$is_args$args\n - /app.php$is_args$args\n fastcgi: ''\n fastcgi_index: ''\n fastcgi_split_path: ''\n proxy: ''\n proxy_redirect: ''\n nxvl_ekxxfmbtwfxp:\n www_root: /var/www/awesome/web\n location: '~ ^/(app_dev|config)\\.php(/|$)'\n autoindex: 'off'\n internal: 'false'\n try_files:\n - $uri\n - $uri/\n - /app_dev.php$is_args$args\n fastcgi: '127.0.0.1:9000'\n fastcgi_index: app_dev.php\n fastcgi_split_path: '^(.+\\.php)(/.*)$'\n fast_cgi_params_extra:\n - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'\n - 'APP_ENV dev'\n set:\n - '$path_info $fastcgi_path_info'\n proxy: ''\n proxy_redirect: ''\n nxvl_kiz7c855rr19:\n www_root: /var/www/awesome/web\n location: '~ ^/index\\.php(/|$)'\n autoindex: 'off'\n internal: 'false'\n try_files:\n - $uri\n - $uri/\n - /index.php$is_args$args\n fastcgi: '127.0.0.1:9000'\n fastcgi_index: index.php\n fastcgi_split_path: '^(.+\\.php)(/.*)$'\n fast_cgi_params_extra:\n - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'\n set:\n - '$path_info $fastcgi_path_info'\n proxy: ''\n proxy_redirect: ''\n nxvl_4x0fk1jrwczd:\n www_root: /var/www/awesome/web\n location: '~ ^/app\\.php(/|$)'\n autoindex: 'off'\n internal: 'false'\n try_files:\n - $uri\n - $uri/\n - /app.php$is_args$args\n fastcgi: '127.0.0.1:9000'\n fastcgi_index: app.php\n fastcgi_split_path: '^(.+\\.php)(/.*)$'\n fast_cgi_params_extra:\n - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'\n - 'APP_ENV prod'\n set:\n - '$path_info $fastcgi_path_info'\n proxy: ''\n proxy_redirect: ''\n proxies: { }\napache:\n install: '1'\n settings:\n version: 2.4\n user: www-data\n group: www-data\n default_vhost: true\n manage_user: false\n manage_group: false\n sendfile: 0\n modules:\n - proxy_fcgi\n - rewrite\n vhosts:\n av_ds7c9tnjwhe7:\n servername: testapp.dev\n docroot: /var/www/testapp/web\n port: '80'\n setenvif:\n - 'Authorization \"(.*)\" HTTP_AUTHORIZATION=$1'\n custom_fragment: ''\n ssl: '0'\n ssl_cert: LETSENCRYPT\n ssl_key: LETSENCRYPT\n ssl_chain: LETSENCRYPT\n ssl_certs_dir: LETSENCRYPT\n ssl_protocol: ''\n ssl_cipher: ''\n directories:\n avd_rt2ki1ql2fu5:\n path: /var/www/testapp/web\n directoryindex: 'index.php app.dev app.php'\n options:\n - Indexes\n - FollowSymlinks\n - MultiViews\n allow_override:\n - All\n require:\n - 'all granted'\n custom_fragment: ''\n provider: directory\n files_match:\n avfm_v71rd527gjtf:\n path: (app_dev|config)\\.php$\n sethandler: 'proxy:fcgi://127.0.0.1:9000'\n setenv:\n - 'APP_ENV dev'\n custom_fragment: ''\n provider: filesmatch\n avfm_qy6m6xg433l6:\n path: app\\.php$\n sethandler: 'proxy:fcgi://127.0.0.1:9000'\n setenv:\n - 'APP_ENV prod'\n custom_fragment: ''\n provider: filesmatch\n avfm_cb8wrbi2n6zb:\n path: \\.php$\n sethandler: 'proxy:fcgi://127.0.0.1:9000'\n custom_fragment: ''\n provider: filesmatch\nletsencrypt:\n install: '1'\n settings:\n email: ''\n webserver_service: ''\n domains: { }\nphp:\n install: '1'\n settings:\n version: '7.1'\n modules:\n php:\n - cli\n - intl\n - xml\n - curl\n - bz2\n - mysql\n - geoip\n pear: { }\n pecl: { }\n ini:\n display_errors: 'On'\n error_reporting: '-1'\n session.save_path: /var/lib/php/session\n date.timezone: UTC\n fpm_ini:\n error_log: /var/log/php-fpm.log\n fpm_pools:\n phpfp_ebvr4hi3kq17:\n ini:\n prefix: www\n listen: '127.0.0.1:9000'\n security.limit_extensions: .php\n user: www-user\n group: www-data\n composer: '1'\n composer_home: ''\nxdebug:\n install: '1'\n settings:\n xdebug.default_enable: '1'\n xdebug.remote_autostart: '0'\n xdebug.remote_connect_back: '1'\n xdebug.remote_enable: '1'\n xdebug.remote_handler: dbgp\n xdebug.remote_port: '9000'\nblackfire:\n install: '0'\n settings:\n server_id: ''\n server_token: ''\n agent:\n http_proxy: ''\n https_proxy: ''\n log_file: stderr\n log_level: '1'\n php:\n agent_timeout: '0.25'\n log_file: ''\n log_level: '1'\nxhprof:\n install: '0'\nwpcli:\n install: '0'\n version: v1.1.0\ndrush:\n install: '0'\n version: 8.0.5\nruby:\n install: '1'\n versions:\n rv_fgahfoxuxm8m:\n default: '1'\n bundler: '1'\n version: 2.3.1\n gems:\n - [email protected]\n - [email protected]\n - [email protected]\npython:\n install: '1'\n packages: { }\n versions: { }\nnodejs:\n install: '0'\n settings:\n version: '6'\n npm_packages: { }\nmariadb:\n install: '1'\n settings:\n version: '10.1'\n root_password: '123'\n override_options: { }\n users:\n mariadbnu_9ujhdpfj2d60:\n name: testapp\n password: '123'\n databases:\n mariadbnd_6bxe69ouot9n:\n name: testapp\n sql: ''\n grants:\n mariadbng_z4drxt7vpk11:\n user: testapp\n table: '*.*'\n privileges:\n - ALL\nmysql:\n install: '0'\n settings:\n version: '5.7'\n root_password: '123'\n override_options: { }\n users:\n mysqlnu_74n6vlw5x1vr:\n name: dbuser\n password: '123'\n databases:\n mysqlnd_w1gyqiltk87y:\n name: dbname\n sql: ''\n grants:\n mysqlng_4nlv2f7bql9c:\n user: dbuser\n table: '*.*'\n privileges:\n - ALL\npostgresql:\n install: '0'\n settings:\n global:\n encoding: UTF8\n version: '9.6'\n server:\n postgres_password: '123'\n databases: { }\n users: { }\n grants: { }\nmongodb:\n install: '0'\n settings:\n bind_ip: 127.0.0.1\n port: '27017'\n globals:\n version: 2.6.0\n databases: { }\nredis:\n install: '0'\n settings:\n port: '6379'\nsqlite:\n install: '0'\n databases: { }\nmailhog:\n install: '0'\n settings:\n smtp_ip: 0.0.0.0\n smtp_port: 1025\n http_ip: 0.0.0.0\n http_port: '8025'\n path: /usr/local/bin/mailhog\nbeanstalkd:\n install: '0'\n settings:\n listenaddress: 0.0.0.0\n listenport: '11300'\n maxjobsize: '65535'\n maxconnections: '1024'\n binlogdir: /var/lib/beanstalkd/binlog\n binlogfsync: null\n binlogsize: '10485760'\n beanstalk_console: 0\nrabbitmq:\n install: '0'\n settings:\n port: '5672'\n users: { }\n vhosts: { }\n plugins: { }\nelastic_search:\n install: '0'\n settings:\n version: 2.3.1\n java_install: true\n instances:\n esi_299dbdf64vje:\n name: es-01\nsolr:\n install: '0'\n settings:\n version: 5.5.2\n port: '8984'\n\n\n```\n\nAs you probably have already realized, the configurator is just a gui for the generated file. If you need change something just edit it all put it again into the <https://puphpet.com/> (drag & drop works) to load values again and add something. \n\n## Run the Machine\n\nTo run the machine go to the `vagrant` using a terminal and use the `vagrant up` command. \nMeantime when vagrant is running the VM put someting into the `www/testapp/web/index.php` location. \nI added the following code:\n\n```php\n<?php\nphpinfo();\n```\n\nTo check if machine is working properly use `vagrant status`. \nTo connect by ssh use `vagrant ssh`. \n\nTo check if everything has been resolved properly so far just go to the <http://testapp.dev>. You should see the phpinfo page like that:\n\n\n\n\nI hope you will enjoy the tool as much as I do. \nNext time I will show how to extend Puppet by new instructions - I will deploy my application using the configuration I created here.\n\nBests!",
"json_metadata": "{\"tags\":[\"programming\",\"php\",\"vagrant\",\"development\",\"technology\"],\"image\":[\"http://i.imgur.com/UwR9bbF.png\",\"http://i.imgur.com/IUzeoFN.png\",\"http://i.imgur.com/6EGoeuu.png\",\"http://i.imgur.com/VKnMm2j.png\",\"http://i.imgur.com/B8aSu82.png\",\"http://i.imgur.com/UsbcWey.png\",\"http://i.imgur.com/dFAlVOu.png\",\"http://i.imgur.com/rFfKohR.png\",\"http://i.imgur.com/lxWaxW8.png\",\"http://i.imgur.com/wIQMxbq.png\",\"http://i.imgur.com/QUonHGF.png\",\"http://i.imgur.com/SXyu3n0.png\",\"http://i.imgur.com/ssfnLYD.png\",\"http://i.imgur.com/TXIiTKz.png\"],\"links\":[\"https://puphpet.com/\",\"http://vagrantup.com\",\"http://puppetlabs.com/\",\"https://www.virtualbox.org/wiki/Downloads\",\"https://launchpad.net/~ondrej/+archive/ubuntu/php/\",\"https://mariadb.org/\",\"http://testapp.dev\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}egotoupvoted (100.00%) @egoto / development-environment-with-puphpet2017/08/01 13:45:09
egotoupvoted (100.00%) @egoto / development-environment-with-puphpet
2017/08/01 13:45:09
| voter | egoto |
| author | egoto |
| permlink | development-environment-with-puphpet |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14195220/Trx cbdfff0096023305b8b7fe1f99a737e8459b0868 |
View Raw JSON Data
{
"trx_id": "cbdfff0096023305b8b7fe1f99a737e8459b0868",
"block": 14195220,
"trx_in_block": 23,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T13:45:09",
"op": [
"vote",
{
"voter": "egoto",
"author": "egoto",
"permlink": "development-environment-with-puphpet",
"weight": 10000
}
]
}egotoremoved vote from (0.00%) @egoto / development-environment-with-puphpet2017/08/01 13:45:03
egotoremoved vote from (0.00%) @egoto / development-environment-with-puphpet
2017/08/01 13:45:03
| voter | egoto |
| author | egoto |
| permlink | development-environment-with-puphpet |
| weight | 0 (0.00%) |
| Transaction Info | Block #14195218/Trx 4415da8fba3a9d6fae9a9ee3eaacf7bb3b1e84bc |
View Raw JSON Data
{
"trx_id": "4415da8fba3a9d6fae9a9ee3eaacf7bb3b1e84bc",
"block": 14195218,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T13:45:03",
"op": [
"vote",
{
"voter": "egoto",
"author": "egoto",
"permlink": "development-environment-with-puphpet",
"weight": 0
}
]
}egotoupvoted (100.00%) @egoto / development-environment-with-puphpet2017/08/01 13:23:39
egotoupvoted (100.00%) @egoto / development-environment-with-puphpet
2017/08/01 13:23:39
| voter | egoto |
| author | egoto |
| permlink | development-environment-with-puphpet |
| weight | 10000 (100.00%) |
| Transaction Info | Block #14194790/Trx 60374ba6134d4f64268ac69e0b2267b6b8800126 |
View Raw JSON Data
{
"trx_id": "60374ba6134d4f64268ac69e0b2267b6b8800126",
"block": 14194790,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T13:23:39",
"op": [
"vote",
{
"voter": "egoto",
"author": "egoto",
"permlink": "development-environment-with-puphpet",
"weight": 10000
}
]
}egotopublished a new post: development-environment-with-puphpet2017/08/01 13:23:39
egotopublished a new post: development-environment-with-puphpet
2017/08/01 13:23:39
| parent author | |
| parent permlink | programming |
| author | egoto |
| permlink | development-environment-with-puphpet |
| title | Development Environment with Puphpet |
| body | # Development Environment with Puphpet ## General I've been using PHP and the LAMP stack as my main environment since 2009. At the beginning of every project I had same issues related to a VM preparation. I found several tools on the market which I tested: Vagrant, Chef, Ansible, Puppet - these all are great and help prepare the development environment automatization. Today, I want to show a helpful tool (esspecialy from the PHP developer point of view): [Puphpet](https://puphpet.com/) Puphpet is a configurator for [Vagrant](http://vagrantup.com) and [Puppet](http://puppetlabs.com/). It prepares a package with all necessary files to run a new virtual machine with all required components by a PHP application.  In short, Puphpet helps to prepare a local development environment without detailed knowledge about Vagrant and Puppet. ## Configuration The following example shows how to run a PHP application based on the Symfony framework. The app uses LAMP. ### Requirements You need install [Vagrant](http://vagrantup.com) and [Virtualbox](https://www.virtualbox.org/wiki/Downloads) to finish that example. ### Puphpet Creator #### General options Go to the <https://puphpet.com/> website and click the green button.  On the first step, I chose the **Virtualbox** provider (you can use VmWare solutions as well) and the **Ubuntu Xenial 16.04 LTS x64** operating system.  Now is the time to set machines. I need an only one machine in the example, but that configurator gives us the possibility to specify as many as we need. To create more advanced configuration we can add more machines. The case would look like below: 1. I need an e-commerce system 2. I need a PIM solution 3. In the configurator, I can create to separated machines to test integrations between those etc. Have a look at the following picture:  The first and the second input specify identification. It doesn't really matter now, you can fill as you like. **Ip Address** input specifies an address which we can use by ssh or http to connect the new VM. In this form are also two values responsible for the memory amount (assigned to the VM) and a number of CPU's assigned to the machine (no worries you can change it later). A crucial step in the configuration process is setting-up shared folders. I want to share the `/var/www` directory between the host and VM. Files used by the application I will put into the `../www` directory. Also, I'd like to share `/vagrant` folder with my local machine. The directory will contain all data from the puphpet project directory. At the end I will see php application files in `/var/www` and puphpet application files in the `/vagrant` location. To share files between my local system (in my case it's MacOs) and the Virtual Machine environment (Ubuntu) I used shared folders option, like below.   #### Packages What is amazing, Puphpet has a packages configurator. Let's say that we need several packages installed on our VM, you can update that list also after we finish the configurator. To run my app I need following packages * **wkhtmltopdf** - my app would use it to generate pdf documents based on website views * htop, vim * zip *Note that you don't have to specify any php extensions here, there is a step later which does it.*  #### Users and Groups The netx step precise groups and users created in the VM. I need an only one user named: *testapp*. See the picture below to find how to make it.  #### Cron jobs I missed steps Locale, Firewall and Resolv in that usage showcase (left default values) adn went directly to the Cron Jobs step. The cron job configurator defines a scheduler for scripts available in the VM. I know that `/var/www` directory will be shared with my `../www` folder, therefore I can specify a script run automatically every second hour.  #### Apache Installation Now I want to configure the apache instance (look that you can choose Nginx if you prefer). For the example needs I add the only one host, let's say that I want to run my application using the `http://testapp.dev` address and I put my public app file into the `/var/www/testapp/web` directory.  And basically, that's it - it will create all necessary file to tun the host. What is nice, vagrant takes care of the `/etc/hosts/` file update. #### PHP Configuration Here we're able to specify the php version and as I've mentioned before - php extensions. I added few modules required by my app. Find all available php modules here: <https://launchpad.net/~ondrej/+archive/ubuntu/php/> Here I also specified `php-fpm` settings, actually I used the default values but here is the right place to change it. At the end, I also checked the composer installation to improve the automatization process.  #### Mysql / Mariadb The last step I'm going to use is the database setup. I want to create an initial database used by my app using [Mariadb](https://mariadb.org/) (a MySql fork).  #### Other Steps and Download Of course, there are a lot of steps you can configure like: **Solr**, **Redis** and so on but now is enough to make a test application based on that configuration. Go to the last step: *Download Your Customized Archive*. Here is the place where we can download the config puphpet module file or all projects files. Let's click on the green button  And create somewhere two folders. I've chosed following paths: * `~/testapp/vagrant` * `~/testapp/www` Unpack all downloaded file into the `testapp/vagrant` directory. #### Config.yaml The only one file generated by the configurator is located in the `vagrant/puphpet/config.yaml` path. Our file should look like below: ```yaml vagrantfile: target: local vm: provider: local: box: puphpet/ubuntu1604-x64 box_url: 'false' box_version: '0' chosen_virtualizer: virtualbox virtualizers: virtualbox: modifyvm: natdnshostresolver1: false showgui: 0 vmware: numvcpus: 1 parallels: linked_clone: 0 check_guest_tools: 0 update_guest_tools: 0 machines: vflm_k4itnhhid5s4: id: machine1 hostname: machine1.puphpet network: private_network: 192.168.56.102 forwarded_port: vflmnfp_j24v5o08cywg: host: '6637' guest: '22' memory: '2048' cpus: '4' provision: puppet: manifests_path: puphpet/puppet/manifests module_path: - puphpet/puppet/modules - puphpet/puppet/manifests options: - '--verbose' - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml' synced_folder: vflsf_8wdfqwrda380: owner: www-data group: www-data source: ./ target: /vagrant sync_type: nfs smb: smb_host: '' smb_username: '' smb_password: '' mount_options: dir_mode: '0775' file_mode: '0664' rsync: args: - '--verbose' - '--archive' - '-z' exclude: - .vagrant/ - .git/ auto: 'true' vflsf_20wd8du0kjef: owner: www-data group: www-data source: ../www target: /var/www sync_type: nfs smb: smb_host: '' smb_username: '' smb_password: '' mount_options: dir_mode: '0775' file_mode: '0664' rsync: args: - '--verbose' - '--archive' - '-z' exclude: - .vagrant/ - .git/ auto: 'true' usable_port_range: start: 10200 stop: 10500 post_up_message: '' ssh: host: 'false' port: 'false' private_key_path: 'false' username: vagrant guest_port: 'false' keep_alive: '1' forward_agent: 'false' forward_x11: 'false' shell: 'bash -l' insert_key: 'false' vagrant: host: detect proxy: http: '' https: '' ftp: '' no_proxy: '' server: install: '1' packages: - vim - htop - wkhtmltopdf - zip users_groups: install: '1' groups: - testapp users: - '{testapp}{testapp}' locale: install: '1' settings: default_locale: en_US.UTF-8 locales: - en_GB.UTF-8 - en_US.UTF-8 timezone: UTC firewall: install: '1' rules: { } resolv: install: '1' nameservers: - 8.8.8.8 - 8.8.4.4 domainname: '' searchpath: { } cron: install: '1' jobs: cj_prs7zkvw7g1b: name: 'testapp jobs' user: vagrant command: 'php /var/www//testapp/cron.php > /dev/null' minute: '1' hour: '*/2' weekday: '*' month: '*' monthday: '' nginx: install: '0' settings: version: present default_vhost: 1 proxy_buffers: '4 256k' proxy_buffer_size: 128k proxy_connect_timeout: 600s proxy_send_timeout: 600s proxy_read_timeout: 600s names_hash_bucket_size: 128 upstreams: { } vhosts: nxv_n087wiye8ku9: server_name: awesome.dev server_aliases: - www.awesome.dev www_root: /var/www/awesome listen_port: '80' client_max_body_size: 1m ssl: '0' locations: nxvl_ffz4010gqxpk: www_root: /var/www/awesome/web location: / autoindex: 'off' internal: 'false' index_files: - index.html - index.php - app.php try_files: - $uri - $uri/ - /index.php$is_args$args - /app.php$is_args$args fastcgi: '' fastcgi_index: '' fastcgi_split_path: '' proxy: '' proxy_redirect: '' nxvl_ekxxfmbtwfxp: www_root: /var/www/awesome/web location: '~ ^/(app_dev|config)\.php(/|$)' autoindex: 'off' internal: 'false' try_files: - $uri - $uri/ - /app_dev.php$is_args$args fastcgi: '127.0.0.1:9000' fastcgi_index: app_dev.php fastcgi_split_path: '^(.+\.php)(/.*)$' fast_cgi_params_extra: - 'SCRIPT_FILENAME $document_root$fastcgi_script_name' - 'APP_ENV dev' set: - '$path_info $fastcgi_path_info' proxy: '' proxy_redirect: '' nxvl_kiz7c855rr19: www_root: /var/www/awesome/web location: '~ ^/index\.php(/|$)' autoindex: 'off' internal: 'false' try_files: - $uri - $uri/ - /index.php$is_args$args fastcgi: '127.0.0.1:9000' fastcgi_index: index.php fastcgi_split_path: '^(.+\.php)(/.*)$' fast_cgi_params_extra: - 'SCRIPT_FILENAME $document_root$fastcgi_script_name' set: - '$path_info $fastcgi_path_info' proxy: '' proxy_redirect: '' nxvl_4x0fk1jrwczd: www_root: /var/www/awesome/web location: '~ ^/app\.php(/|$)' autoindex: 'off' internal: 'false' try_files: - $uri - $uri/ - /app.php$is_args$args fastcgi: '127.0.0.1:9000' fastcgi_index: app.php fastcgi_split_path: '^(.+\.php)(/.*)$' fast_cgi_params_extra: - 'SCRIPT_FILENAME $document_root$fastcgi_script_name' - 'APP_ENV prod' set: - '$path_info $fastcgi_path_info' proxy: '' proxy_redirect: '' proxies: { } apache: install: '1' settings: version: 2.4 user: www-data group: www-data default_vhost: true manage_user: false manage_group: false sendfile: 0 modules: - proxy_fcgi - rewrite vhosts: av_ds7c9tnjwhe7: servername: testapp.dev docroot: /var/www/testapp/web port: '80' setenvif: - 'Authorization "(.*)" HTTP_AUTHORIZATION=$1' custom_fragment: '' ssl: '0' ssl_cert: LETSENCRYPT ssl_key: LETSENCRYPT ssl_chain: LETSENCRYPT ssl_certs_dir: LETSENCRYPT ssl_protocol: '' ssl_cipher: '' directories: avd_rt2ki1ql2fu5: path: /var/www/testapp/web directoryindex: 'index.php app.dev app.php' options: - Indexes - FollowSymlinks - MultiViews allow_override: - All require: - 'all granted' custom_fragment: '' provider: directory files_match: avfm_v71rd527gjtf: path: (app_dev|config)\.php$ sethandler: 'proxy:fcgi://127.0.0.1:9000' setenv: - 'APP_ENV dev' custom_fragment: '' provider: filesmatch avfm_qy6m6xg433l6: path: app\.php$ sethandler: 'proxy:fcgi://127.0.0.1:9000' setenv: - 'APP_ENV prod' custom_fragment: '' provider: filesmatch avfm_cb8wrbi2n6zb: path: \.php$ sethandler: 'proxy:fcgi://127.0.0.1:9000' custom_fragment: '' provider: filesmatch letsencrypt: install: '1' settings: email: '' webserver_service: '' domains: { } php: install: '1' settings: version: '7.1' modules: php: - cli - intl - xml - curl - bz2 - mysql - geoip pear: { } pecl: { } ini: display_errors: 'On' error_reporting: '-1' session.save_path: /var/lib/php/session date.timezone: UTC fpm_ini: error_log: /var/log/php-fpm.log fpm_pools: phpfp_ebvr4hi3kq17: ini: prefix: www listen: '127.0.0.1:9000' security.limit_extensions: .php user: www-user group: www-data composer: '1' composer_home: '' xdebug: install: '1' settings: xdebug.default_enable: '1' xdebug.remote_autostart: '0' xdebug.remote_connect_back: '1' xdebug.remote_enable: '1' xdebug.remote_handler: dbgp xdebug.remote_port: '9000' blackfire: install: '0' settings: server_id: '' server_token: '' agent: http_proxy: '' https_proxy: '' log_file: stderr log_level: '1' php: agent_timeout: '0.25' log_file: '' log_level: '1' xhprof: install: '0' wpcli: install: '0' version: v1.1.0 drush: install: '0' version: 8.0.5 ruby: install: '1' versions: rv_fgahfoxuxm8m: default: '1' bundler: '1' version: 2.3.1 gems: - [email protected] - [email protected] - [email protected] python: install: '1' packages: { } versions: { } nodejs: install: '0' settings: version: '6' npm_packages: { } mariadb: install: '1' settings: version: '10.1' root_password: '123' override_options: { } users: mariadbnu_9ujhdpfj2d60: name: testapp password: '123' databases: mariadbnd_6bxe69ouot9n: name: testapp sql: '' grants: mariadbng_z4drxt7vpk11: user: testapp table: '*.*' privileges: - ALL mysql: install: '0' settings: version: '5.7' root_password: '123' override_options: { } users: mysqlnu_74n6vlw5x1vr: name: dbuser password: '123' databases: mysqlnd_w1gyqiltk87y: name: dbname sql: '' grants: mysqlng_4nlv2f7bql9c: user: dbuser table: '*.*' privileges: - ALL postgresql: install: '0' settings: global: encoding: UTF8 version: '9.6' server: postgres_password: '123' databases: { } users: { } grants: { } mongodb: install: '0' settings: bind_ip: 127.0.0.1 port: '27017' globals: version: 2.6.0 databases: { } redis: install: '0' settings: port: '6379' sqlite: install: '0' databases: { } mailhog: install: '0' settings: smtp_ip: 0.0.0.0 smtp_port: 1025 http_ip: 0.0.0.0 http_port: '8025' path: /usr/local/bin/mailhog beanstalkd: install: '0' settings: listenaddress: 0.0.0.0 listenport: '11300' maxjobsize: '65535' maxconnections: '1024' binlogdir: /var/lib/beanstalkd/binlog binlogfsync: null binlogsize: '10485760' beanstalk_console: 0 rabbitmq: install: '0' settings: port: '5672' users: { } vhosts: { } plugins: { } elastic_search: install: '0' settings: version: 2.3.1 java_install: true instances: esi_299dbdf64vje: name: es-01 solr: install: '0' settings: version: 5.5.2 port: '8984' ``` As you probably have already realized, the configurator is just a gui for the generated file. If you need change something just edit it all put it again into the <https://puphpet.com/> (drag & drop works) to load values again and add something. ## Run the Machine To run the machine go to the `vagrant` using a terminal and use the `vagrant up` command. Meantime when vagrant is running the VM put someting into the `www/testapp/web/index.php` location. I added the following code: ```php <?php phpinfo(); ``` To check if machine is working properly use `vagrant status`. To connect by ssh use `vagrant ssh`. To check if everything has been resolved properly so far just go to the <http://testapp.dev>. You should see the phpinfo page like that:  I hope you will enjoy the tool as much as I do. Next time I will show how to extend Puppet by new instructions - I will deploy my application using the configuration I created here. Bests! |
| json metadata | {"tags":["programming","php","vagrant","development"],"image":["http://i.imgur.com/UwR9bbF.png","http://i.imgur.com/IUzeoFN.png","http://i.imgur.com/6EGoeuu.png","http://i.imgur.com/VKnMm2j.png","http://i.imgur.com/B8aSu82.png","http://i.imgur.com/UsbcWey.png","http://i.imgur.com/dFAlVOu.png","http://i.imgur.com/rFfKohR.png","http://i.imgur.com/lxWaxW8.png","http://i.imgur.com/wIQMxbq.png","http://i.imgur.com/QUonHGF.png","http://i.imgur.com/SXyu3n0.png","http://i.imgur.com/ssfnLYD.png","http://i.imgur.com/TXIiTKz.png"],"links":["https://puphpet.com/","http://vagrantup.com","http://puppetlabs.com/","https://www.virtualbox.org/wiki/Downloads","https://launchpad.net/~ondrej/+archive/ubuntu/php/","https://mariadb.org/","http://testapp.dev"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #14194790/Trx 60374ba6134d4f64268ac69e0b2267b6b8800126 |
View Raw JSON Data
{
"trx_id": "60374ba6134d4f64268ac69e0b2267b6b8800126",
"block": 14194790,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T13:23:39",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "programming",
"author": "egoto",
"permlink": "development-environment-with-puphpet",
"title": "Development Environment with Puphpet",
"body": "# Development Environment with Puphpet\n\n## General\n\nI've been using PHP and the LAMP stack as my main environment since 2009. \nAt the beginning of every project I had same issues related to a VM preparation.\n\nI found several tools on the market which I tested: Vagrant, Chef, Ansible, Puppet - these all are great and help prepare the development environment automatization. \n\nToday, I want to show a helpful tool (esspecialy from the PHP developer point of view): [Puphpet](https://puphpet.com/) \nPuphpet is a configurator for [Vagrant](http://vagrantup.com) and [Puppet](http://puppetlabs.com/). It prepares a package with all necessary files to run a new virtual machine with all required components by a PHP application.\n\n\n\nIn short, Puphpet helps to prepare a local development environment without detailed knowledge about Vagrant and Puppet.\n\n## Configuration\n\nThe following example shows how to run a PHP application based on the Symfony framework. \nThe app uses LAMP.\n\n### Requirements\n\nYou need install [Vagrant](http://vagrantup.com) and [Virtualbox](https://www.virtualbox.org/wiki/Downloads) to finish that example.\n\n### Puphpet Creator\n\n#### General options\n\nGo to the <https://puphpet.com/> website and click the green button.\n\n\n\n \nOn the first step, I chose the **Virtualbox** provider (you can use VmWare solutions as well) and the **Ubuntu Xenial 16.04 LTS x64** operating system.\n\n\n\nNow is the time to set machines. I need an only one machine in the example, but that configurator gives us the possibility to specify as many as we need. \nTo create more advanced configuration we can add more machines. The case would look like below:\n1. I need an e-commerce system\n2. I need a PIM solution\n3. In the configurator, I can create to separated machines to test integrations between those etc. \n\nHave a look at the following picture:\n\n\n\nThe first and the second input specify identification. It doesn't really matter now, you can fill as you like. **Ip Address** input specifies an address which we can use by ssh or http to connect the new VM. \nIn this form are also two values responsible for the memory amount (assigned to the VM) and a number of CPU's assigned to the machine (no worries you can change it later).\n\nA crucial step in the configuration process is setting-up shared folders. \nI want to share the `/var/www` directory between the host and VM. \nFiles used by the application I will put into the `../www` directory. Also, I'd like to share `/vagrant` folder with my local machine. The directory will contain all data from the puphpet project directory. \nAt the end I will see php application files in `/var/www` and puphpet application files in the `/vagrant` location.\n\nTo share files between my local system (in my case it's MacOs) and the Virtual Machine environment (Ubuntu) I used shared folders option, like below.\n\n\n\n\n\n#### Packages\n\nWhat is amazing, Puphpet has a packages configurator. \nLet's say that we need several packages installed on our VM, you can update that list also after we finish the configurator. \nTo run my app I need following packages\n* **wkhtmltopdf** - my app would use it to generate pdf documents based on website views\n* htop, vim\n* zip\n\n*Note that you don't have to specify any php extensions here, there is a step later which does it.*\n\n\n\n#### Users and Groups\n\nThe netx step precise groups and users created in the VM. \nI need an only one user named: *testapp*. See the picture below to find how to make it.\n\n\n\n#### Cron jobs\n\nI missed steps Locale, Firewall and Resolv in that usage showcase (left default values) adn went directly to the Cron Jobs step. \n\nThe cron job configurator defines a scheduler for scripts available in the VM. \nI know that `/var/www` directory will be shared with my `../www` folder, therefore I can specify a script run automatically every second hour.\n\n\n\n\n#### Apache Installation\n\nNow I want to configure the apache instance (look that you can choose Nginx if you prefer). \n\nFor the example needs I add the only one host, let's say that I want to run my application using the `http://testapp.dev` address and I put my public app file into the `/var/www/testapp/web` directory.\n\n\n\nAnd basically, that's it - it will create all necessary file to tun the host. What is nice, vagrant takes care of the `/etc/hosts/` file update.\n\n#### PHP Configuration\n\nHere we're able to specify the php version and as I've mentioned before - php extensions. \nI added few modules required by my app. \nFind all available php modules here: <https://launchpad.net/~ondrej/+archive/ubuntu/php/>\n\nHere I also specified `php-fpm` settings, actually I used the default values but here is the right place to change it. At the end, I also checked the composer installation to improve the automatization process.\n\n\n\n#### Mysql / Mariadb\n\nThe last step I'm going to use is the database setup. \nI want to create an initial database used by my app using [Mariadb](https://mariadb.org/) (a MySql fork).\n\n\n\n#### Other Steps and Download\n\nOf course, there are a lot of steps you can configure like: **Solr**, **Redis** and so on but now is enough to make a test application based on that configuration. Go to the last step: *Download Your Customized Archive*.\n\nHere is the place where we can download the config puphpet module file or all projects files.\nLet's click on the green button\n\n\n\nAnd create somewhere two folders. I've chosed following paths:\n\n* `~/testapp/vagrant`\n* `~/testapp/www`\n\nUnpack all downloaded file into the `testapp/vagrant` directory.\n\n#### Config.yaml\n\nThe only one file generated by the configurator is located in the `vagrant/puphpet/config.yaml` path. \nOur file should look like below:\n\n```yaml\nvagrantfile:\n target: local\n vm:\n provider:\n local:\n box: puphpet/ubuntu1604-x64\n box_url: 'false'\n box_version: '0'\n chosen_virtualizer: virtualbox\n virtualizers:\n virtualbox:\n modifyvm:\n natdnshostresolver1: false\n showgui: 0\n vmware:\n numvcpus: 1\n parallels:\n linked_clone: 0\n check_guest_tools: 0\n update_guest_tools: 0\n machines:\n vflm_k4itnhhid5s4:\n id: machine1\n hostname: machine1.puphpet\n network:\n private_network: 192.168.56.102\n forwarded_port:\n vflmnfp_j24v5o08cywg:\n host: '6637'\n guest: '22'\n memory: '2048'\n cpus: '4'\n provision:\n puppet:\n manifests_path: puphpet/puppet/manifests\n module_path:\n - puphpet/puppet/modules\n - puphpet/puppet/manifests\n options:\n - '--verbose'\n - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'\n synced_folder:\n vflsf_8wdfqwrda380:\n owner: www-data\n group: www-data\n source: ./\n target: /vagrant\n sync_type: nfs\n smb:\n smb_host: ''\n smb_username: ''\n smb_password: ''\n mount_options:\n dir_mode: '0775'\n file_mode: '0664'\n rsync:\n args:\n - '--verbose'\n - '--archive'\n - '-z'\n exclude:\n - .vagrant/\n - .git/\n auto: 'true'\n vflsf_20wd8du0kjef:\n owner: www-data\n group: www-data\n source: ../www\n target: /var/www\n sync_type: nfs\n smb:\n smb_host: ''\n smb_username: ''\n smb_password: ''\n mount_options:\n dir_mode: '0775'\n file_mode: '0664'\n rsync:\n args:\n - '--verbose'\n - '--archive'\n - '-z'\n exclude:\n - .vagrant/\n - .git/\n auto: 'true'\n usable_port_range:\n start: 10200\n stop: 10500\n post_up_message: ''\n ssh:\n host: 'false'\n port: 'false'\n private_key_path: 'false'\n username: vagrant\n guest_port: 'false'\n keep_alive: '1'\n forward_agent: 'false'\n forward_x11: 'false'\n shell: 'bash -l'\n insert_key: 'false'\n vagrant:\n host: detect\n proxy:\n http: ''\n https: ''\n ftp: ''\n no_proxy: ''\nserver:\n install: '1'\n packages:\n - vim\n - htop\n - wkhtmltopdf\n - zip\nusers_groups:\n install: '1'\n groups:\n - testapp\n users:\n - '{testapp}{testapp}'\nlocale:\n install: '1'\n settings:\n default_locale: en_US.UTF-8\n locales:\n - en_GB.UTF-8\n - en_US.UTF-8\n timezone: UTC\nfirewall:\n install: '1'\n rules: { }\nresolv:\n install: '1'\n nameservers:\n - 8.8.8.8\n - 8.8.4.4\n domainname: ''\n searchpath: { }\ncron:\n install: '1'\n jobs:\n cj_prs7zkvw7g1b:\n name: 'testapp jobs'\n user: vagrant\n command: 'php /var/www//testapp/cron.php > /dev/null'\n minute: '1'\n hour: '*/2'\n weekday: '*'\n month: '*'\n monthday: ''\nnginx:\n install: '0'\n settings:\n version: present\n default_vhost: 1\n proxy_buffers: '4 256k'\n proxy_buffer_size: 128k\n proxy_connect_timeout: 600s\n proxy_send_timeout: 600s\n proxy_read_timeout: 600s\n names_hash_bucket_size: 128\n upstreams: { }\n vhosts:\n nxv_n087wiye8ku9:\n server_name: awesome.dev\n server_aliases:\n - www.awesome.dev\n www_root: /var/www/awesome\n listen_port: '80'\n client_max_body_size: 1m\n ssl: '0'\n locations:\n nxvl_ffz4010gqxpk:\n www_root: /var/www/awesome/web\n location: /\n autoindex: 'off'\n internal: 'false'\n index_files:\n - index.html\n - index.php\n - app.php\n try_files:\n - $uri\n - $uri/\n - /index.php$is_args$args\n - /app.php$is_args$args\n fastcgi: ''\n fastcgi_index: ''\n fastcgi_split_path: ''\n proxy: ''\n proxy_redirect: ''\n nxvl_ekxxfmbtwfxp:\n www_root: /var/www/awesome/web\n location: '~ ^/(app_dev|config)\\.php(/|$)'\n autoindex: 'off'\n internal: 'false'\n try_files:\n - $uri\n - $uri/\n - /app_dev.php$is_args$args\n fastcgi: '127.0.0.1:9000'\n fastcgi_index: app_dev.php\n fastcgi_split_path: '^(.+\\.php)(/.*)$'\n fast_cgi_params_extra:\n - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'\n - 'APP_ENV dev'\n set:\n - '$path_info $fastcgi_path_info'\n proxy: ''\n proxy_redirect: ''\n nxvl_kiz7c855rr19:\n www_root: /var/www/awesome/web\n location: '~ ^/index\\.php(/|$)'\n autoindex: 'off'\n internal: 'false'\n try_files:\n - $uri\n - $uri/\n - /index.php$is_args$args\n fastcgi: '127.0.0.1:9000'\n fastcgi_index: index.php\n fastcgi_split_path: '^(.+\\.php)(/.*)$'\n fast_cgi_params_extra:\n - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'\n set:\n - '$path_info $fastcgi_path_info'\n proxy: ''\n proxy_redirect: ''\n nxvl_4x0fk1jrwczd:\n www_root: /var/www/awesome/web\n location: '~ ^/app\\.php(/|$)'\n autoindex: 'off'\n internal: 'false'\n try_files:\n - $uri\n - $uri/\n - /app.php$is_args$args\n fastcgi: '127.0.0.1:9000'\n fastcgi_index: app.php\n fastcgi_split_path: '^(.+\\.php)(/.*)$'\n fast_cgi_params_extra:\n - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'\n - 'APP_ENV prod'\n set:\n - '$path_info $fastcgi_path_info'\n proxy: ''\n proxy_redirect: ''\n proxies: { }\napache:\n install: '1'\n settings:\n version: 2.4\n user: www-data\n group: www-data\n default_vhost: true\n manage_user: false\n manage_group: false\n sendfile: 0\n modules:\n - proxy_fcgi\n - rewrite\n vhosts:\n av_ds7c9tnjwhe7:\n servername: testapp.dev\n docroot: /var/www/testapp/web\n port: '80'\n setenvif:\n - 'Authorization \"(.*)\" HTTP_AUTHORIZATION=$1'\n custom_fragment: ''\n ssl: '0'\n ssl_cert: LETSENCRYPT\n ssl_key: LETSENCRYPT\n ssl_chain: LETSENCRYPT\n ssl_certs_dir: LETSENCRYPT\n ssl_protocol: ''\n ssl_cipher: ''\n directories:\n avd_rt2ki1ql2fu5:\n path: /var/www/testapp/web\n directoryindex: 'index.php app.dev app.php'\n options:\n - Indexes\n - FollowSymlinks\n - MultiViews\n allow_override:\n - All\n require:\n - 'all granted'\n custom_fragment: ''\n provider: directory\n files_match:\n avfm_v71rd527gjtf:\n path: (app_dev|config)\\.php$\n sethandler: 'proxy:fcgi://127.0.0.1:9000'\n setenv:\n - 'APP_ENV dev'\n custom_fragment: ''\n provider: filesmatch\n avfm_qy6m6xg433l6:\n path: app\\.php$\n sethandler: 'proxy:fcgi://127.0.0.1:9000'\n setenv:\n - 'APP_ENV prod'\n custom_fragment: ''\n provider: filesmatch\n avfm_cb8wrbi2n6zb:\n path: \\.php$\n sethandler: 'proxy:fcgi://127.0.0.1:9000'\n custom_fragment: ''\n provider: filesmatch\nletsencrypt:\n install: '1'\n settings:\n email: ''\n webserver_service: ''\n domains: { }\nphp:\n install: '1'\n settings:\n version: '7.1'\n modules:\n php:\n - cli\n - intl\n - xml\n - curl\n - bz2\n - mysql\n - geoip\n pear: { }\n pecl: { }\n ini:\n display_errors: 'On'\n error_reporting: '-1'\n session.save_path: /var/lib/php/session\n date.timezone: UTC\n fpm_ini:\n error_log: /var/log/php-fpm.log\n fpm_pools:\n phpfp_ebvr4hi3kq17:\n ini:\n prefix: www\n listen: '127.0.0.1:9000'\n security.limit_extensions: .php\n user: www-user\n group: www-data\n composer: '1'\n composer_home: ''\nxdebug:\n install: '1'\n settings:\n xdebug.default_enable: '1'\n xdebug.remote_autostart: '0'\n xdebug.remote_connect_back: '1'\n xdebug.remote_enable: '1'\n xdebug.remote_handler: dbgp\n xdebug.remote_port: '9000'\nblackfire:\n install: '0'\n settings:\n server_id: ''\n server_token: ''\n agent:\n http_proxy: ''\n https_proxy: ''\n log_file: stderr\n log_level: '1'\n php:\n agent_timeout: '0.25'\n log_file: ''\n log_level: '1'\nxhprof:\n install: '0'\nwpcli:\n install: '0'\n version: v1.1.0\ndrush:\n install: '0'\n version: 8.0.5\nruby:\n install: '1'\n versions:\n rv_fgahfoxuxm8m:\n default: '1'\n bundler: '1'\n version: 2.3.1\n gems:\n - [email protected]\n - [email protected]\n - [email protected]\npython:\n install: '1'\n packages: { }\n versions: { }\nnodejs:\n install: '0'\n settings:\n version: '6'\n npm_packages: { }\nmariadb:\n install: '1'\n settings:\n version: '10.1'\n root_password: '123'\n override_options: { }\n users:\n mariadbnu_9ujhdpfj2d60:\n name: testapp\n password: '123'\n databases:\n mariadbnd_6bxe69ouot9n:\n name: testapp\n sql: ''\n grants:\n mariadbng_z4drxt7vpk11:\n user: testapp\n table: '*.*'\n privileges:\n - ALL\nmysql:\n install: '0'\n settings:\n version: '5.7'\n root_password: '123'\n override_options: { }\n users:\n mysqlnu_74n6vlw5x1vr:\n name: dbuser\n password: '123'\n databases:\n mysqlnd_w1gyqiltk87y:\n name: dbname\n sql: ''\n grants:\n mysqlng_4nlv2f7bql9c:\n user: dbuser\n table: '*.*'\n privileges:\n - ALL\npostgresql:\n install: '0'\n settings:\n global:\n encoding: UTF8\n version: '9.6'\n server:\n postgres_password: '123'\n databases: { }\n users: { }\n grants: { }\nmongodb:\n install: '0'\n settings:\n bind_ip: 127.0.0.1\n port: '27017'\n globals:\n version: 2.6.0\n databases: { }\nredis:\n install: '0'\n settings:\n port: '6379'\nsqlite:\n install: '0'\n databases: { }\nmailhog:\n install: '0'\n settings:\n smtp_ip: 0.0.0.0\n smtp_port: 1025\n http_ip: 0.0.0.0\n http_port: '8025'\n path: /usr/local/bin/mailhog\nbeanstalkd:\n install: '0'\n settings:\n listenaddress: 0.0.0.0\n listenport: '11300'\n maxjobsize: '65535'\n maxconnections: '1024'\n binlogdir: /var/lib/beanstalkd/binlog\n binlogfsync: null\n binlogsize: '10485760'\n beanstalk_console: 0\nrabbitmq:\n install: '0'\n settings:\n port: '5672'\n users: { }\n vhosts: { }\n plugins: { }\nelastic_search:\n install: '0'\n settings:\n version: 2.3.1\n java_install: true\n instances:\n esi_299dbdf64vje:\n name: es-01\nsolr:\n install: '0'\n settings:\n version: 5.5.2\n port: '8984'\n\n\n```\n\nAs you probably have already realized, the configurator is just a gui for the generated file. If you need change something just edit it all put it again into the <https://puphpet.com/> (drag & drop works) to load values again and add something. \n\n## Run the Machine\n\nTo run the machine go to the `vagrant` using a terminal and use the `vagrant up` command. \nMeantime when vagrant is running the VM put someting into the `www/testapp/web/index.php` location. \nI added the following code:\n\n```php\n<?php\nphpinfo();\n```\n\nTo check if machine is working properly use `vagrant status`. \nTo connect by ssh use `vagrant ssh`. \n\nTo check if everything has been resolved properly so far just go to the <http://testapp.dev>. You should see the phpinfo page like that:\n\n\n\n\nI hope you will enjoy the tool as much as I do. \nNext time I will show how to extend Puppet by new instructions - I will deploy my application using the configuration I created here.\n\nBests!",
"json_metadata": "{\"tags\":[\"programming\",\"php\",\"vagrant\",\"development\"],\"image\":[\"http://i.imgur.com/UwR9bbF.png\",\"http://i.imgur.com/IUzeoFN.png\",\"http://i.imgur.com/6EGoeuu.png\",\"http://i.imgur.com/VKnMm2j.png\",\"http://i.imgur.com/B8aSu82.png\",\"http://i.imgur.com/UsbcWey.png\",\"http://i.imgur.com/dFAlVOu.png\",\"http://i.imgur.com/rFfKohR.png\",\"http://i.imgur.com/lxWaxW8.png\",\"http://i.imgur.com/wIQMxbq.png\",\"http://i.imgur.com/QUonHGF.png\",\"http://i.imgur.com/SXyu3n0.png\",\"http://i.imgur.com/ssfnLYD.png\",\"http://i.imgur.com/TXIiTKz.png\"],\"links\":[\"https://puphpet.com/\",\"http://vagrantup.com\",\"http://puppetlabs.com/\",\"https://www.virtualbox.org/wiki/Downloads\",\"https://launchpad.net/~ondrej/+archive/ubuntu/php/\",\"https://mariadb.org/\",\"http://testapp.dev\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}egotoupdated their account properties2017/08/01 10:25:24
egotoupdated their account properties
2017/08/01 10:25:24
| account | egoto |
| memo key | STM5mTvMVLU86ZNAHTmGCMXhGh3FfoVc83XEBJenGs2m3VZk6qSuw |
| json metadata | {"profile":{"profile_image":"http://i.imgur.com/R5MSBHH.png?1"}} |
| Transaction Info | Block #14191228/Trx f1732f67f906863fc1db3a498cdd7f76f76f0486 |
View Raw JSON Data
{
"trx_id": "f1732f67f906863fc1db3a498cdd7f76f76f0486",
"block": 14191228,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T10:25:24",
"op": [
"account_update",
{
"account": "egoto",
"memo_key": "STM5mTvMVLU86ZNAHTmGCMXhGh3FfoVc83XEBJenGs2m3VZk6qSuw",
"json_metadata": "{\"profile\":{\"profile_image\":\"http://i.imgur.com/R5MSBHH.png?1\"}}"
}
]
}egotoupdated their account properties2017/08/01 10:22:57
egotoupdated their account properties
2017/08/01 10:22:57
| account | egoto |
| memo key | STM5mTvMVLU86ZNAHTmGCMXhGh3FfoVc83XEBJenGs2m3VZk6qSuw |
| json metadata | {"profile":{"profile_image":"http://i.imgur.com/R5MSBHH.png"}} |
| Transaction Info | Block #14191179/Trx fcbdb33417c34bfd06ce3c348e5e684cfd52ceb6 |
View Raw JSON Data
{
"trx_id": "fcbdb33417c34bfd06ce3c348e5e684cfd52ceb6",
"block": 14191179,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T10:22:57",
"op": [
"account_update",
{
"account": "egoto",
"memo_key": "STM5mTvMVLU86ZNAHTmGCMXhGh3FfoVc83XEBJenGs2m3VZk6qSuw",
"json_metadata": "{\"profile\":{\"profile_image\":\"http://i.imgur.com/R5MSBHH.png\"}}"
}
]
}egotoreplied to @ememovic / re-ememovic-need-help-20170801t074259188z2017/08/01 07:42:57
egotoreplied to @ememovic / re-ememovic-need-help-20170801t074259188z
2017/08/01 07:42:57
| parent author | ememovic |
| parent permlink | need-help |
| author | egoto |
| permlink | re-ememovic-need-help-20170801t074259188z |
| title | |
| body | Try https://www.codecademy.com/ In my opinion, it is the best way to start, you can try different languages interactively (php, python, javascript, ruby and many others) before you choose the one you like by practice exercises. |
| json metadata | {"tags":["php"],"links":["https://www.codecademy.com/"],"app":"steemit/0.1"} |
| Transaction Info | Block #14187981/Trx 4bd2041a072ba7918ed2fb37d00aef1c45b4f158 |
View Raw JSON Data
{
"trx_id": "4bd2041a072ba7918ed2fb37d00aef1c45b4f158",
"block": 14187981,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T07:42:57",
"op": [
"comment",
{
"parent_author": "ememovic",
"parent_permlink": "need-help",
"author": "egoto",
"permlink": "re-ememovic-need-help-20170801t074259188z",
"title": "",
"body": "Try https://www.codecademy.com/\nIn my opinion, it is the best way to start, you can try different languages interactively (php, python, javascript, ruby and many others) before you choose the one you like by practice exercises.",
"json_metadata": "{\"tags\":[\"php\"],\"links\":[\"https://www.codecademy.com/\"],\"app\":\"steemit/0.1\"}"
}
]
}2017/08/01 07:39:45
2017/08/01 07:39:45
| fee | 0.500 STEEM |
| delegation | 57000.000000 VESTS |
| creator | steem |
| new account name | egoto |
| owner | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM7797PS6hazrJTyJTCCoTLCTdUSnLCKakMEgLU9NnLDALi9B6TC",1]]} |
| active | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM6AvKiXPwYqUCNuJ1fL3uzJQso928oXU7ckaFovY4PkiAryUkKa",1]]} |
| posting | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM5Qgy28ixQhQ4FfGTuGsjztm5pQEsZXcvsmC36SAxT4fMPTNBFz",1]]} |
| memo key | STM5mTvMVLU86ZNAHTmGCMXhGh3FfoVc83XEBJenGs2m3VZk6qSuw |
| json metadata | |
| extensions | [] |
| Transaction Info | Block #14187917/Trx 875ccc52d0757d3ffb5de2d39c9f47d345ffe0a1 |
View Raw JSON Data
{
"trx_id": "875ccc52d0757d3ffb5de2d39c9f47d345ffe0a1",
"block": 14187917,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-01T07:39:45",
"op": [
"account_create_with_delegation",
{
"fee": "0.500 STEEM",
"delegation": "57000.000000 VESTS",
"creator": "steem",
"new_account_name": "egoto",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7797PS6hazrJTyJTCCoTLCTdUSnLCKakMEgLU9NnLDALi9B6TC",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6AvKiXPwYqUCNuJ1fL3uzJQso928oXU7ckaFovY4PkiAryUkKa",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5Qgy28ixQhQ4FfGTuGsjztm5pQEsZXcvsmC36SAxT4fMPTNBFz",
1
]
]
},
"memo_key": "STM5mTvMVLU86ZNAHTmGCMXhGh3FfoVc83XEBJenGs2m3VZk6qSuw",
"json_metadata": "",
"extensions": []
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779061896
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779061896
},
"rc_account": {
"account": "egoto",
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779061896
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "10164408779"
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"http://i.imgur.com/R5MSBHH.png?1"} |
| JSON METADATA | |
| profile | {"profile_image":"http://i.imgur.com/R5MSBHH.png?1"} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "http://i.imgur.com/R5MSBHH.png?1"
}
},
"json_metadata": {
"profile": {
"profile_image": "http://i.imgur.com/R5MSBHH.png?1"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM7797PS6hazrJTyJTCCoTLCTdUSnLCKakMEgLU9NnLDALi9B6TC1/1
Active
Single Signature
Public Keys
STM6AvKiXPwYqUCNuJ1fL3uzJQso928oXU7ckaFovY4PkiAryUkKa1/1
Posting
Single Signature
Public Keys
STM5Qgy28ixQhQ4FfGTuGsjztm5pQEsZXcvsmC36SAxT4fMPTNBFz1/1
Memo
STM5mTvMVLU86ZNAHTmGCMXhGh3FfoVc83XEBJenGs2m3VZk6qSuw
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7797PS6hazrJTyJTCCoTLCTdUSnLCKakMEgLU9NnLDALi9B6TC",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6AvKiXPwYqUCNuJ1fL3uzJQso928oXU7ckaFovY4PkiAryUkKa",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5Qgy28ixQhQ4FfGTuGsjztm5pQEsZXcvsmC36SAxT4fMPTNBFz",
1
]
]
},
"memo": "STM5mTvMVLU86ZNAHTmGCMXhGh3FfoVc83XEBJenGs2m3VZk6qSuw"
}Witness Votes
0 / 30
No active witness votes.
[]